You are here: Home Blog Comments

Personal tools

Document Actions

Comments

Up one level
「100までの整数から素数を列挙せよ」 by znzの日記 — last modified 2006-06-17 02:02
http://ll.jus.or.jp/2006/blog/doukaku1 に「キミならどう書く 2.0 - ROUND 1 -」として「100までの整数から素数を列挙せよ」というお題が出ている。 ちゃんと計算するのは面倒なので「0ruby -r mathn -e '(1..100).select{|x|x.prime_division.size == 1}.join(" ").display'」で。 最初は1からではなく0からにしていたら、「0.prime_division」がかえってこなくて悩んでし ...
Re:キミならどう書く 2.0 - ROUND 1 - by nobsun — last modified 2006-06-17 01:58

sieve (p:ps) = p:sieve [q|q<-ps,q`mod`p/=0]
take 100 $ sieve [2..]

100までの素数@ruby by 青方偏移 — last modified 2006-06-17 00:52
なにやら面白そうな企画が開催されているようなので、乱入。「100までの素数を列挙するコードを書くべし」だそうです。とりあえずRubyを使って書いてみました。 def generate_prime_numbers(max) (2..max).inject([]) do |list, n| append_if_prime(list, n) end e..
キミならどう書く 2.0 - ROUND 1 - by mputの日記。 — last modified 2006-06-17 00:26
100までではちょっと上が小さすぎる。「最初の1,000,000個」とかに変更すべき。ここまで大きければHaskellでも素朴なsieveでは表示できなくなる(sieveはやがてメモリを喰い尽くして止まる。やってみればわかる)ので、腕の見せ所となる。
Re:キミならどう書く 2.0 - ROUND 1 - by Anonymous User — last modified 2006-06-16 23:57

Pythonです。。
[p for p in range(2,100) if 0 not in [p%d for d in range(2,p)]]

エラトステネスのふるい @ Ruby by 32nd diary — last modified 2006-06-16 23:48
コンセプトは「人と同じ動き」です.
人が紙に書いてエラトステネスのふるいで解いていくのと同じ流れのコードとなっています.
[プログラミング]Concurrent Clean : L.L.Ring : 『キミならどう書く 2.0 - ROUND 1 -』 : 100までの素数を列挙 by lethevert is a programmer — last modified 2006-06-16 23:46
module Primes import StdEnv, OptEnv Start = takeWhile ((>=) 100) primes primes = ps [2..] where ps [n:nr] = [n: ps $ filter (\x = (x rem n) <> 0) nr] たしか、もっとスマートな方法があったような気がするんだけど・・・
perl - 100までの素数 by 404 Blog Not Found — last modified 2006-06-16 22:02



なに前哨戦とな?
キミならどう書く 2.0 - ROUND 1 - ? Lightweight Language Ringお題は「100までの整数から素数を列挙せよ」です.