[C언어] 두 개의 분수를 정수형으로 더하는 방법
ET의 공부/C언어2020. 4. 9. 21:14
안녕하세요.
오늘은 두 개의 분수를 정수형으로 입력받아 더하는 방법에 대해 포스팅해보겠습니다.
분수 끼리 더하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <stdio.h>
int main()
{
int a, b,c,d,x,y,i,multiple;
//분수는 a/b + c/d 로 만들어진다.
//multiple = 최대공약수
//1/3 + 3/9
a = 2;
b = 7;
c = 3;
d = 9;
x=(a*d)+(b*c);
y=b*d;
for(i=1; i <= x && i <= y; ++i)
{
if(x%i==0 && y%i==0)
multiple = i;
}
printf("\n 결과: %d/%d \n" ,x/multiple,y/multiple);
return 0;
}
|
a/b 와 c/d를 더한다 하면 (a*d)+(b*c) / (b*d) 로 표현 할 수 있습니다.
if(x%i==0 && y%i==0) 을 만족하는 최대공약수로 나누어주면 답을 구할 수 있습니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 세 수 중 가장 큰 수 찾기 (0) | 2020.04.12 |
---|---|
[C언어] 윤년을 판단하는 방법 (0) | 2020.04.12 |
[C언어] 10진수를 2진수로 변환하는 방법 (0) | 2020.04.09 |
[C언어] 두 배열을 정렬된 형태로 합치는 2가지 방법 (0) | 2020.04.05 |
[C언어] 배열의 두 번째로 작은 요소를 찾는 3가지 방법 (0) | 2020.04.05 |
댓글()