Comments
Up one level- Re:キミならどう書く 2.0 - ROUND 1 - by みずしま — last modified 2006-06-18 18:46
-
間違って、トラックバックを2回送ってしまいました。すみません。
- [Groovy]キミならどう書く 2.0 - ROUND 1 - by Onion開発日記 — last modified 2006-06-18 18:40
-
Groovyで書いてみた。まずはこんな感じのコード。
println ((2..100).findAll{x->(2..x/2).every{x%it!=0}})
しかし、実行してみると、何故か2が含まれない。
[3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79
, 83, 89, 97]
たぶん、範囲式の使い方が原因だろうということで、ちょっと調べてみる。
(2..1).each{println it}
=>
2
1
どうやら、(x .. y)で、x>yの場合は、空の範囲を生成するのではなく、x,
x-1,x-2,...,yの範囲を生成するようだ。しかも、Groovyの公式ページのドキュメントを見ても、この仕様に関するきちんとした記述が見当たらないorz
仕方無いので、内側のループは2..x/2ではなく、2...xにすることにした。
println ((2..100).findAll{x->(2...x).every{x%it!=0}})
今度は、ちゃんと2も出力されるようになった。
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73,
79, 83, 89, 97]
- [Groovy]キミならどう書く 2.0 - ROUND 1 - by Onion開発日記 — last modified 2006-06-18 18:40
-
Groovyで書いてみた。まずはこんな感じのコード。
println ((2..100).findAll{x->(2..x/2).every{x%it!=0}})
しかし、実行してみると、何故か2が含まれない。
[3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79
, 83, 89, 97]
たぶん、範囲式の使い方が原因だろうということで、ちょっと調べてみる。
(2..1).each{println it}
=>
2
1
どうやら、(x .. y)で、x>yの場合は、空の範囲を生成するのではなく、x,
x-1,x-2,...,yの範囲を生成するようだ。しかも、Groovyの公式ページのドキュメントを見ても、この仕様に関するきちんとした記述が見当たらないorz
仕方無いので、内側のループは2..x/2ではなく、2...xにすることにした。
println ((2..100).findAll{x->(2...x).every{x%it!=0}})
今度は、ちゃんと2も出力されるようになった。
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73,
79, 83, 89, 97]
- javascriptで素数生成 by Marble Screw — last modified 2006-06-18 16:25
-
これをJavascriptで。
[http://ll.jus.or.jp/2006/blog/doukaku1:title]
*アルゴリズム
[g:素数判定 アルゴリズム]で探してみたけど、技術 - [プログラミング]Concurrent Clean : L.L.Ring : キミならどう書く 2.0 - ROUND 1 - 高速化編 by lethevert is a programmer — last modified 2006-06-18 14:24
- id:lethevert:20060616:p2 : 素直な回答 id:lethevert:20060617:p1 : 頭部非ボックス化正格リスト id:lethevert:20060617:p2 : gccとの速度比較 ここまで、コードの外形には触れずにいましたが、コードの外形を変えて高速化してみましょう。 Start = last $ takeWhile ((
- [Squeak][Smalltalk] 100までの整数から素数を列挙せよ…を Smalltalk-72 で by sumim’s smalltalking-tos — last modified 2006-06-18 13:28
- 悪ノリして、今度は 1974 年からのエントリー。 "limit _ 100. "primes _ stream of vector 1. primes _ 2. for i _ 3 to limit by 2 ("isprime _ true. "vec _ primes contents. for idx to vec length ("prime _ vec[idx]. (i mod prime) = 0? (
- [LL]キミならどう書く 2.0 - ROUND 1 6月26日(月)締切 by はてなの日記 Akira51 — last modified 2006-06-18 11:32
- いい感じでRSSからお題が送られてきました。(この記事は6/25(日)まで更新し続けます。) LL Ring の前哨戦として「キミならどう書く 2.0」の開催 お題は「100までの整数から素数を列挙せよ」です. 解答の締切は6月26日(月)とします.締切後には投票による人気の集計を行
- Re:キミならどう書く 2.0 - ROUND 1 - by Anonymous User — last modified 2006-06-18 05:58
-
昔ながらのBASICで。
すぐに使える実行環境が無いので机上デバッグしかしていません。
10 'SAVE "PRIME.BAS"
20 DIM A(100):I=2
30 FOR P=I*2 TO 100 STEP I:A(P)=1:NEXT P
40 I=I+1:IF I=101 THEN GOTO 60
50 IF A(I)=0 THEN GOTO 30 ELSE GOTO 40
60 FOR I=2 TO 100
70 IF A(I)=0 THEN PRINT I," ";
80 NEXT I