티스토리 뷰
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 | import math #a,b,c는 자리수를 나타냄 first=0 second=0 third=0 sumResult=0 arr=[] for a in range(1,8): for b in range(1,8): for c in range(1,8): if(a+b+c!=9): continue for i in range(int(math.pow(10,a-1)),int(math.pow(10,a))): for j in range(int(math.pow(10,b-1)),int(math.pow(10,b))): result=i*j result_length=len(str(i*j)) if(a+b+result_length!=9): break string=str(i)+str(j)+str(result) if((string.find('1')!=-1 and string.find('2')!=-1 and string.find('3')!=-1 and string.find('4')!=-1 and string.find('5')!=-1 and string.find('6')!=-1 and string.find('7')!=-1 and string.find('8')!=-1 and string.find('9')!=-1)) and string.find('0')==-1: arr.append(result) print(i,j,result) arr=list(set(arr)) for i in range(0,len(arr)): sumResult=sumResult+arr[i] print(sumResult) | cs |
이전에 푼 팬디지털 문제를 참고하여 비교적 쉽게 풀 수 있었다.
a, b, c를 자리수를 나타내는 변수로 지정하고,
math.pow()를 이용해 자리수에 대응하는 숫자를 생성하였다.
'Algorithm > Project Euler' 카테고리의 다른 글
프로젝트 오일러 39번 (0) | 2017.07.01 |
---|---|
프로젝트 오일러 36번 (0) | 2017.06.30 |
프로젝트 오일러 29번 (0) | 2017.06.29 |
프로젝트 오일러 27번 (0) | 2017.06.29 |
프로젝트 오일러 38번 (0) | 2017.06.29 |
댓글