11 + 22 + 33 + … + 1010 = 10405071317 입니다.
11 + 22 + 33 + … + 10001000 의 마지막 10자리 숫자는 무엇입니까?
Math::BigInt를 이용하여 구했다.
사실 마지막 10자리만 끊어서 계산해도 무방하지만, 약 10초 내로 결과가 나오기에 그냥 풀기로 했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/usr/bin/env perl use 5.010; use strict; use warnings; use Math::BigInt; my $n = Math::BigInt->bzero(); for (1..1000) { my $t = Math::BigInt->new($_); $t->bpow($t); $n->badd($t); } say substr($n->bstr(), -10); |