본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #10474: 분수 좋아해?

www.acmicpc.net/problem/10474

 

10474번: 분수좋아해?

당신은 학생들의 기초수학 학습을 돕는 소프트웨어를 개발하는 팀의 개발자이다. 당신은 가분수를 대분수(?)로 출력하는 부분을 개발해야 한다. 진분수는 분자가 분모보다 작은 분수이다; 대분

www.acmicpc.net

 

[문제]

당신은 학생들의 기초수학 학습을 돕는 소프트웨어를 개발하는 팀의 개발자이다. 당신은 가분수를 대분수(?)로 출력하는 부분을 개발해야 한다. 진분수는 분자가 분모보다 작은 분수이다; 대분수는 정수부를 따로 떼어주고 남는 부분을 진분수로 쓰는 기법이다. 예제로, 27/12는 대분수로 2 3/12이다. 기약분수로 만들지 말아야 한다.(3/12를 1/4로 바꿔 출력하지 마시오.)

"0 0" 입력이 들어오는 라인에서 입력을 종료한다.

 

[문제 접근]

27/12 → 2 3/12

정수부분은 27//12

진분수의 분자부분은 27%12

진분수의 분모부분은 가분수의 분모

 

 

[정답]

 

1. 무한 while문을 돌면서 가분수의 분자와 분모를 입력받는다. 만약 가분수의 분자와 분모가 모두 0이라면 break한다.

2. 가분수의 분자를 분모로 나눈 값인 진분수의 정수부분을 변수 num1에 넣는다. 가분수의 분자를 분모로 나눈 나머지인 진분수의 분자부분은 변수 num2에 넣는다.

3. 최종적으로 대분수의 형태로 출력한다.