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

何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

Project Euler Problem 12

Project Euler

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?

http://projecteuler.net/problem=12

 

500個以上の約数をもつ最初の三角数を求める問題。三角数は n(n+1)/2 で表されるような数のこと。

あまりきれいではないがSageによるソースを載せてみる。

----

step = 2
triangle_number = 1
while len(divisors(triangle_number)) < 500:
    triangle_number = sum(xrange(1,step))
    step +=1
print triangle_number
----

最近は本職(?)のセミナーや就職活動でほとんどProject Eulerに取り組めてない状況。何か1つのことにじっくりと取り組みたいのですが、そうもいかないのが最近の状況です。

蟻本と呼ばれる本を購入し、きちんとプログラムとアルゴリズムの勉強もしたいのですが…