티스토리 뷰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
number=1
sum_result=0
sum=0
for a in range(1,100):
    for b in range(1,100):
        for pow in range(0,b):
            number=number*a
        length=len(str(number))
        for index in range(0,length):
            sum=sum+(int)(str(number)[index])
        if(sum_result<sum):
            sum_result=sum
        number=1
        sum=0
print(sum_result)
#반환 시간 : 1.5s
cs




각 거듭제곱수의 경우마다 문자열로 바꾼 후 길이를 구하고


그에 맞추어 각 자리수를 더한 값을 비교하였다.



실수로 length를 구하는 줄을 for문 안에 넣었는데


넣을 때와 넣지 않을 때의 반환 시간을 비교해 보았을 때


커서 반 번 깜빡이는 정도의 차이를 보였다.



사소한 실수가 속도 면에서 큰 차이를 보이게 할 수 있음을 다시금 깨달았다.

'Algorithm > Project Euler' 카테고리의 다른 글

프로젝트 오일러 35번  (0) 2017.07.04
프로젝트 오일러 28번  (0) 2017.07.04
프로젝트 오일러 25번  (0) 2017.07.03
프로젝트 오일러 1페이지 클리어!  (0) 2017.07.03
프로젝트 오일러 18번  (0) 2017.07.03
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
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
글 보관함