프로젝트 오일러 20

n! 이라는 표기법은 n × (n − 1) × ... × 3 × 2 × 1을 뜻합니다.
예를 들자면 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 이 되는데,
여기서 10!의 각 자리수를 더해 보면 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 입니다.
100! 의 자리수를 모두 더하면 얼마입니까?
---------------------------------------------------------------------------------
ans = 1;
i=1
j=1;
sum;

for j in range(1,100): 
    ans *= j;

print ans;

while True:
    if ans==0:
        break;
    
    if i==1:
        sum = ans%10;
    else:
        sum+=ans%10;
    
    ans= ans // 10; //버젼 3으로 올라가면서 자동으로 소수점을 없앤다지만 버젼 2는 아직                              //연산자를 써야 소수점이 없어진다.
    i=i+1; 
    
print sum;
------------------------------------------------------------------------------
파이썬은 프로젝트 오일러를 풀기에 적합한 언어이다. C언어에서는 데이터 범위를 벗어나서 너무 힘들었지만 파이썬으로 푸니 더 쉬워졌다.

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리