티스토리 뷰
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 27 28 29 30 31 32 33 34 35 36 | boonza=0 boonmo=0 result=1 resultBoonza=1 resultBoonmo=1 for i in range(10,100): for j in range(i+1,101): boonza=i boonmo=j resultCommon=0 resultOdd=0 boonzaFirst=int(str(boonza)[0]) boonzaSecond=int(str(boonza)[1]) boonmoFirst=int(str(boonmo)[0]) boonmoSecond=int(str(boonmo)[1]) resultCommon=boonza/boonmo if(boonzaFirst==boonmoSecond): if(boonmoFirst==0): continue resultOdd=boonzaSecond/boonmoFirst if(resultCommon==resultOdd): resultBoonza=resultBoonza*boonzaSecond resultBoonmo=resultBoonmo*boonmoFirst elif(boonzaSecond==boonmoFirst): if(boonmoSecond==0): continue resultOdd=boonzaFirst/boonmoSecond if(resultCommon==resultOdd): resultBoonza=resultBoonza*boonzaFirst resultBoonmo=resultBoonmo*boonmoSecond #최대공약수 구하기 for a in range(1,resultBoonza+1): gcd=0 if(resultBoonza%a==0 and resultBoonmo%a==0): gcd=a print(int(resultBoonmo/a)) | cs |
문제도 흥미롭고 풀리기도 잘 풀려서 재미있었다.
'진부하지 않은 경우'를 생각하기 위해 분자와 분모를 자릿수별로 구분하여 비교하였다.
그 후 최대공약수를 구하여 답을 얻었다.
'Algorithm > Project Euler' 카테고리의 다른 글
프로젝트 오일러 38번 (0) | 2017.06.29 |
---|---|
프로젝트 오일러 34번 (0) | 2017.06.29 |
프로젝트 오일러 30번 (0) | 2017.06.29 |
프로젝트 오일러 21번 (0) | 2017.06.29 |
프로젝트 오일러 2번 (0) | 2017.05.19 |
댓글