Project Euler with Ruby on WSL [Problem 12]

うーむ

楽しいけどちょっと辛いね。 中学生とかでやるといいねこれは。 算数ができなくなってるよ

問題

Highly divisible triangular number

The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

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 We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?

私訳

約数の多い三角数

「n 番目の三角数」とは 1 から n までの和である。 このとき、最初に 500 を超える約数を持つ三角数を求めよ

解答方針

素因数分解するしかない。 合成数 c が、素因数  p_0, p_1, \cdots, p_n と 指数  \alpha_0, \alpha_1, \cdots, \alpha_n によって  \displaystyle
c = \prod_{i=0}^{n} p_i^{\alpha_i} と表せるとき、約数の個数は  \displaystyle
\prod_{i=0}^{n} 1+\alpha_i
になるので、これを求めていくことになる