문제 : 1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).
12 + 22 + ... + 102 = 385
1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).
(1 + 2 + ... + 10)2 = 552 = 3025
따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다.
그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까?
1 2 3 4 5 6 7 8 9 10 11 12 | def calc(n): powSum = 0 sumPow = 0 for i in range(1, n+1): powSum += i**2 sumPow += i sumPow = sumPow ** 2 print "sumPow - powSum : %d" % (sumPow - powSum) n = raw_input("input : ") calc(int(n)) | cs |
C:\Users\Com\Desktop>python test.py
input : 100
sumPow - powSum : 25164150
'* Computer Science > Project Euler' 카테고리의 다른 글
project euler 8. problem (0) | 2016.07.18 |
---|---|
project euler 7. problem (0) | 2016.07.17 |
project euler 5. problem (0) | 2016.07.15 |
project euler 4. problem (0) | 2016.07.14 |
project euler 3. problem (0) | 2016.07.13 |