본문 바로가기

Develop

[Problem 6] 합의 제곱과 제곱의 합 차이

# -*- coding: utf-8 -*-
# 
# 문제 :
#     http://projecteuler.net/index.php?section=problems&id=6
#     숫자가 1부터 100까지 있다.
#     각 숫자의 합을 제곱한 결과에서
#     각 숫자 제곱을 합한 결과의 차이를 구하라.
#     
# 접근 :
#     두 가지 함수가 필요하다고 판단
#      1) 넘겨받은 파라메터까지 합한 결과의 제곱
#      2) 넘겨받은 파라메터까지 제곱값을 합한 결과
#      
# 해결 :
#     각 함수에서 원한는 값을 주어 결과를 구하고, 그 차이를 출력한다.
# 
#

import sys

# 제곱을 합한 결과
def sum_pow(num ):
    s = 0
    for cnt in range(1,num):
        s = s + pow(cnt, 2)

    return s

# 합을 제곱한 결과
def pow_sum(num ):
    s = 0
    for cnt in range(1,num):
        s = s + cnt

    return pow(s, 2)

def process(num):
    res = pow_sum(num + 1) - sum_pow(num + 1)
    print '%s %d %-5s %10d' % ('Result from 1 to' , num , ' : ' , int(res)    )

print 'start--------------------'
process(10)
process(100)

print 'end  --------------------'
반응형