Coding/Python 삽질기2010. 7. 10. 03:52


1 부터 5000 사이의 Self number 개수와 그 합을 구하는 예제

#-*- coding: cp949 -*-
# Self Number
# filename : self_number.py
# author   : chobocho at korea.com
# date     : 2010. 7. 10
#

def Generator(num):
    sum = num
    while (num > 0):
        sum += (num % 10)
        num /= 10
       
    return sum   


#-------------------------------------------------------------------------------
# main
if __name__ == "__main__": 

    start_number = 1           # 시작 숫자
    end_number = 5000          # 마지막 숫자

    self_number_count = 0;
    self_number_sum = 0;

    mylist = [0] * (end_number + 1) * 2

    for idx in range (start_number, (end_number + 1)):
        mylist[Generator(idx)] += 1
    
    for idx in range (start_number, (end_number + 1)):
        if ( mylist[idx] == 0 ):
            self_number_count += 1
            self_number_sum += idx
       
    print "Count %d" %(self_number_count)
    print "Sum %d" %(self_number_sum)

 

Count : 494
Sum : 1227365


 

'Coding > Python 삽질기' 카테고리의 다른 글

Self number ... 2  (0) 2010.07.13
몬테카를로 법을 이용한 원주율 계산  (0) 2010.07.09
100!  (0) 2010.07.08
Posted by chobocho