관리 메뉴

드럼치는 프로그래머

[M2S] 2009년 01월 15일 목요일 C언어 DailyQuiz 03 ( 이집트 분수 ) 본문

★─M2S Study/☆─09.01 Daily

[M2S] 2009년 01월 15일 목요일 C언어 DailyQuiz 03 ( 이집트 분수 )

드럼치는한동이 2009. 1. 14. 02:05

이집트 분수

이집트 분수는 분자가 1인 분수들을 말한다. 예를 들어서 1/2 혹은 1/3은 이집트 분수이다.

2/3은 다음과 같이 이집트 분수의 합으로 표시할 수 있다.

2/3 = 1/2+1/6


우리의 목표는 두 정수 값을 받아 그것을 분모와 분자로 하는 분수를 만들고 그 분수를

이집트 분수의 합으로 출력하는 프로그램을 작성하는 것이다.

힌트는 다음과 같다. 예를 들어서 설명해 본다.


A = 2, B = 3이라고 하면 A/B = 2/3이 되고, 최대의 이집트 분수가 1/2임을 알 수 있다.

그리고 다음과 같이 계산하면 두 번째로 큰 이집트 분수가 1/6임을 알 수 있다.



A/B - 1/C = 2/3 - 1/2 = 1/6



따라서 2/3는 1/2 과 1/6 두 개의 이집트 분수의 합으로 표시할 수 있다.

다음은 입력과 출력의 예이다.

 입력1  2 3
 출력1  1/2 + 1/6

 입력2  3 7
 출력2

 1/3 + 1/11 + 1/231

 입력3  7 13
 출력3  1/2 + 1/26





참고 링크 : 고대 이집트의 단위분수


ps. 너무 많은 항이 나오면 중도에 끊게 하거나 알아서 처리한다. 

     머릿속 알고리즘을 구현하느냐의 문제!

     입력의 제한을 두어라. 2/4 , 4/6 처럼 약분되는건 금지, 

     3/4 는 계산과정에서 약분이 안되서 패쓰.

     2/5, 2/7, 2/9, 2/11, 3/5 ..........  이런식의 입력 제한이 있다고 가정한다.    




제대로 돌아가는가 짜본 테스트 프로그램 확인
>>>>>>>





기한 : 2009년 1월 15일 목요일 자정 ( 늦은 12시 ) 까지.

제출 : rockdrumy@nate.com or 네이트온.

제출방법 : 워드문서로 레포트 형식과 동일하게 소스와 실행화면 스샷과 함께 작성하고, 
               Word 파일과 c 파일 1개로 압축하여 제출. 

궁금한 점은 무조건 저한테만 문의 바람. 웹사이트 & 네이버 지식검색 참조 금물.


Comments