통계, IT, AI

15. Lattice paths, 16. Power digit sum 본문

IT/PROJECT_EULER

15. Lattice paths, 16. Power digit sum

Harold_Finch 2017. 1. 12. 22:42

1. 개요

워낙 풀이가 간단하여 두개의 문제의 한개의 포스팅에 올린다. 15번 문제는 이곳에서 확인할 수 있고, 16번 문제는 이곳에서 확인할 수 있다.

15번 문제는 격자무늬에서 찾을 수 있는 길을 찾는 것이 목표인데, 조합을 이용하면 쉽게 해결할 수 있다. 즉, \({}_{40} \mathrm{ C }_{20}\)을 계산하면 된다.

16번 문제는 2의 1000승을 구한 후 각 자리의 숫자를 더하면 된다.

2. Ver 1.0

파이선을 사용하여 쉽게 답을 구하자.

# -*- coding: utf-8 -*-
import math as m

# 15. Lattice paths
f = m.factorial
print(f(40)/(f(20)**2))

# 16. Power digit sum
print(sum([int(digit) for digit in str(int(m.pow(2,1000)))]))

15번의 답은 137846528820이며 16번의 답은 1366이다.

'IT > PROJECT_EULER' 카테고리의 다른 글

18. Maximum path sum I  (0) 2017.01.15
17. Number letter counts  (0) 2017.01.12
14. Longest Collatz sequence  (0) 2017.01.11
13. Large sum  (0) 2017.01.08
12. Highly divisible triangular number  (0) 2017.01.08
Comments