[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) 을 만족하는 최대공약수로 나누어주면 답을 구할 수 있습니다.

댓글()