728x90
반응형

문제 : https://codeup.kr/problem.php?id=1715

 

기약분수

분자(a)와 분모(b)가 자연수로 입력된다.(단, a와 b는 같지 않고, a, b값은 10,000이하의 자연수이다.)

codeup.kr

용준이와 봉찬이는 분수를 아는 학생이다.ㅋ

분수 공부를 하다가 기약분수로 만드는 프로그램을 만들기로 했다.

분자, 분모가 입력되면 기약분수의 형태로 출력하는 프로그램을 작성하시오.

.

※ 기약분수 : 더 이상 약분할 수 없는 분수이다.

예를 들어 5 / 25 를 기약분수로 바꾸면 1 / 5 이다. 

 5     5로 나눈다      1

---  ---------------->  ---

25    5로 나눈다      5

이 순서로 으로 기약분수가 된다.

 

[그림1] 입 출력 예제

# include <stdio.h>

int main()
{
	int a,b;
	int i;
	scanf("%d %d",&a,&b);
	
	if(b%a == 0)
	{
		printf("1 %d",b/a);
		return 0;
	}

	for(i = a/2; i>1; i--)
	{
		if(b%i == 0 && a%i ==0)
		{
			printf("%d %d",a/i,b/i);
			return 0;
		}
	}
	
	printf("%d %d",a,b);
	

	return 0;
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기