« [ 自作 ] ノート PC 用 CPU 新モデル速報 | トップページ | [ ニッキ ] iPad が Apple ファンにもダメだしされてた »

2010/07/22

[ project euler ] problem 1

友人の havana に Project Euler なるものを紹介されたのはかなり前のこと。
いろいろあってしばらくコード書いてなかったんだけど、これならいろいろと楽しめそうだなと思って初めて見ることにしました。

Problem 1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

正当な解法だと等差数列の和を求めるのでしょう。が、しかし、等差数列の和を利用すれば解けることはわかるものの、肝心な数式が出てこない・・・

そこで集合 { x: (3 * i), (0 < i < 1000)} と集合 { y: (5 * j), (0 < j < 1000)} の和集合に含まれる要素の和として計算しました。

sum(
	set.union(
		set([3 * multiprier for multiprier in range(1, ((1000-1) / 3) + 1)]),
		set([5 * multiprier for multiprier in range(1, ((1000-1) / 5) + 1)])
	)
)

|

« [ 自作 ] ノート PC 用 CPU 新モデル速報 | トップページ | [ ニッキ ] iPad が Apple ファンにもダメだしされてた »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/48945762

この記事へのトラックバック一覧です: [ project euler ] problem 1:

« [ 自作 ] ノート PC 用 CPU 新モデル速報 | トップページ | [ ニッキ ] iPad が Apple ファンにもダメだしされてた »