読者です 読者をやめる 読者になる 読者になる

PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 12 / 三角数の約数の個数

三角数の数列は自然数の和で表わされ,7番目の三角数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 である。三角数の最初の10項は
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
となる。最初の7項の約数を列挙すると次のようになる。

1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28

7番目の三角数である28は5個より多く約数をもつ最初の三角数である。500個より多く約数をもつ最初の三角数を求めよ。

Problem 12 - Project Euler

三角数は PolygonalNumber。約数は Divisors。

約数の個数は Length[Divisors[PolygonalNumber[n]]] とでもすれば求められますが,約数関数*1で0乗を指定しても求められます。

あとはループをまわすだけ。

*1:約数を整数乗した数の総和