1 :
アデヤッコ(dion軍) :
2010/05/29(土) 15:02:44.18 ID:Znq78eAT BE:918893164-PLT(12000) ポイント特典
2 :
ヨシノボリ(新潟県) :2010/05/29(土) 15:03:24.01 ID:JjnssQf6
そうっすね
3 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 15:03:34.56 ID:ILlOWMmF
まあ素数!
4 :
アピストグラマ(埼玉県) :2010/05/29(土) 15:03:34.61 ID:TSZQcos7
落ち着かない
5 :
ミツボシクロスズメダイ(神奈川県) :2010/05/29(土) 15:03:35.48 ID:oOpdVhzr
1 2 3 5 7 9 11 13 17 19 22
cubeスレ
7 :
イトヒキフエダイ(dion軍) :2010/05/29(土) 15:03:47.04 ID:lxnJsuHs BE:277245942-PLT(15000)
素敵に見えた
8 :
ウケクチウグイ(茨城県) :2010/05/29(土) 15:03:57.44 ID:CJ+ChYnI BE:1036260364-2BP(2222)
cabuスレ
9 :
アデヤッコ(広島県) :2010/05/29(土) 15:04:12.31 ID:kpR3wYtB
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 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009
10 :
ギマ(関西地方) :2010/05/29(土) 15:04:20.87 ID:vScdCLQZ
す・・素数
11 :
トラフグ(石川県) :2010/05/29(土) 15:04:32.86 ID:PMf1GM7g
落ち着いた
12 :
ビワコオオナマズ(三重県) :2010/05/29(土) 15:05:42.23 ID:PpFRXsOn
相手をジャガイモだと思い込む 手に人と書いてから、飲み込む 素数を数える
13 :
マンタ(アラバマ州) :2010/05/29(土) 15:05:51.87 ID:038xMeIC
dim s as string = "" これってVB6で使えたっけ?
14 :
アデヤッコ(石川県) :2010/05/29(土) 15:06:11.05 ID:hhFjDUX9
「1」を素数に含めないのは、 ぜったい素数を考えた人の気まぐれで決めたんだと思う。
なんでVBなんだよ
16 :
ウグイ(catv?) :2010/05/29(土) 15:06:33.00 ID:J3rWPi39
.Net系っすか
17 :
アデヤッコ(茨城県) :2010/05/29(土) 15:06:49.64 ID:eJrXuQDW
マセマティカでやれ
18 :
カライワシ(兵庫県) :2010/05/29(土) 15:06:53.94 ID:e2evPBFv
↑素数 ↓素数
19 :
チカ(京都府) :2010/05/29(土) 15:07:12.53 ID:F6rxn9zv
67
素敵に見えた
ジョジョスレ
VBかよ
23 :
ゲンロクダイ(徳島県) :2010/05/29(土) 15:07:33.69 ID:ECv0I/QV
24 :
シファクティヌス(岡山県) :2010/05/29(土) 15:07:47.02 ID:dOLmaJTD
醤油
25 :
イシモチ(千葉県) :2010/05/29(土) 15:08:17.24 ID:48NJKz3o
落ち着く〜
26 :
ヘラヤガラ(大阪府) :2010/05/29(土) 15:08:33.98 ID:6xxMw9IG
素数が無限にあることを証明しなさい 5分で初段
6部は黒歴史
29 :
ニセゴイシウツボ(京都府) :2010/05/29(土) 15:08:55.08 ID:0WxKNk++
素数だ素数を数えるんだ…
30 :
クマノミ(東京都) :2010/05/29(土) 15:09:28.01 ID:oibqhYWN
プッチ神父
リーマン予想とはなんだったのか
素数と素麺
34 :
ゴマモンガラ(静岡県) :2010/05/29(土) 15:11:50.16 ID:W9SDoHsl
>>32 NHKを見るまでサラリーマン川柳の一種かと思ってたw
プッチ神父
36 :
イザリウオ(東京都) :2010/05/29(土) 15:12:17.45 ID:REvFmLk2
落ちつくなあ・・
38 :
ツナ(岩手県) :2010/05/29(土) 15:13:04.28 ID:wN1ohbQ5
もとかず
素数は素敵
41 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 15:14:47.32 ID:ILlOWMmF
も…素数
43 :
マンタ(アラバマ州) :2010/05/29(土) 15:17:54.39 ID:038xMeIC
>>41 よく見たら.netだった
最後でmsgbox使ってたからVB6かと早とちりしたわ
にしても
>>1 のプログラム
文字列Sをどこでも使ってないんだが
素数と来たら神父、みたいなお決まりの流れって飽きてこないか
>>43 無言で素数を数え続けるプログラムか
素敵じゃないか
46 :
ネズミザメ(宮城県) :2010/05/29(土) 15:20:13.55 ID:0CKIN4Fw
P≧NPだっけ
素数やん・・・ どうせ素数の並びに規則性なんて無いんだろ リーマンw
48 :
スマ(山陰地方) :2010/05/29(土) 15:20:37.02 ID:CKowfp2z
はよ、リーマン解けや 超絶エリートのお前らなら余裕だろ
49 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 15:24:35.94 ID:ILlOWMmF
>>40 超簡単に言うと、リーマン予想は
「素数の並び方って何か規則性あんじゃね?」
ってことだ
51 :
マンタ(アラバマ州) :2010/05/29(土) 15:27:54.62 ID:038xMeIC
>>49 なるほど
書き間違いか
それにしてもこんなシンプルなプログラムで
素数が導き出せるってのは素敵だな
VB2010なら並列処理も出来るから上手く書けばもっと早くなりそうだ
素数の並び方はプリズムがどうとか言ってたね
53 :
ヘダイ(長屋) :2010/05/29(土) 15:28:21.88 ID:lnkKVP3h
素股じゃないのか
55 :
ハゼ(茨城県) :2010/05/29(土) 15:29:37.68 ID:bLCv5eM+
素数だね
56 :
ウグイ(catv?) :2010/05/29(土) 15:30:38.23 ID:J3rWPi39
vbって2010が出たのかよ・・ おっつかねえよクソッ
57 :
ドジョウ(catv?) :2010/05/29(土) 15:31:11.17 ID:vus+NHvD
なんだっけ、X以下の素数の個数は1/logXに比例するって予想したんだっけガウスは 数学者の自伝読むとわくわくするよな
58 :
カワビシャ(関西地方) :2010/05/29(土) 15:33:08.20 ID:8tUTgTUe
取りあえず、Excslに計算式入力していって16127までの素数なら出した。 そこで心が折れた。手作業だとこんなもんか…
59 :
ヨシキリザメ(新潟県) :2010/05/29(土) 15:34:20.80 ID:nrEcBANG
テキストで貼りつけて拡張子をhtmlで動くようにしてくれよ
60 :
ボララス(岡山県) :2010/05/29(土) 15:36:47.62 ID:3Euk//xe
このメッセージボックスは画面に収まるのか?
61 :
アナゴ(静岡県) :2010/05/29(土) 15:36:54.21 ID:5rrEGbiI
haskellならこれだけで出せる main = putStrLn $ show $ take 100 $ eratosthenes [2..] eratosthenes (x:xs) = [x] ++ (eratosthenes $ filter (\y -> mod y x /= 0) xs) eratosthenes [] = []
そすうってなに? きすうとちがうの?
全ての奇数は二つの素数の和で表わせて、偶数は3つ以下の素数の和で表わせるんだよね。
64 :
ネオンテトラ(神奈川県) :2010/05/29(土) 15:39:53.58 ID:eept6+rl
じゃんけんぽん 偶数=グー 奇数=チョキ 素数=パー
へー。 よく分からないけど、和は綺麗なかんじだ。 覚えておこう。
落ち着くなあ
64はすごそう。 おぼえておく。 >63,64ありがとう。
>>63 少なくとも3は2つの素数に分けられないだろ
69 :
ヒラアジ(東日本) :2010/05/29(土) 15:46:15.79 ID:NYF30wPe
Dim isPrime As Boolean dim s As String = "" For i As integer =2 To 100 isOrime = True For j As Interger =2 To i - 1 If i Mod j = 0 Then isOrime = False exit For End If Next If isPrime Then s &= i & vbCrLf Next MsgBox(s)
70 :
ゼゼラ(東京都) :2010/05/29(土) 15:47:26.88 ID:JIpithjP
71 :
アカエイ(福岡県) :2010/05/29(土) 15:48:15.78 ID:b4Er2xTN
素敵やん
72 :
サワラ(埼玉県) :2010/05/29(土) 15:49:51.75 ID:oFI/E//a
誰かVBSでも実行できるように書き直してくれ
74 :
ネズミザメ(神奈川県) :2010/05/29(土) 15:53:11.24 ID:Sxiqxp6G
int i, x[25]={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}; for(i=0;i<25;i++) printf("%d ", x[i]);
VBSにした For i =2 To 100 isPrime = True For j =2 To i - 1 If i Mod j = 0 Then isPrime = False exit For End If Next If isPrime Then s &= i & vbCrLf Next MsgBox s
76 :
ヘラヤガラ(東京都) :2010/05/29(土) 15:58:09.65 ID:aTeWOYNw
素数って規則性発見されてないんだろ? なのになんでコードで表せるの?
山手線ゲームで「素数」って言った理系がおしぼりぶつけられてた
78 :
ヒラアジ(東日本) :2010/05/29(土) 16:03:31.02 ID:NYF30wPe
新規テキスト作って、以下を書き込み保存 s = "素数=" For i = 2 To 100 isPrime = True For j = 2 To i - 1 If i Mod j = 0 Then isPrime = False exit For End If Next If isPrime Then s = s & "," & CSTr(i) Next MsgBox(s) ファイルの拡張子を.vbsに変更 ダブルクリック
79 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 16:03:32.78 ID:ILlOWMmF
>>76 割れる数が見つかるまで延々割り続けてるだけ
規則性と言うか定義に基づいてる
80 :
ゼゼラ(東京都) :2010/05/29(土) 16:04:23.19 ID:JIpithjP
>>76 規則性がある素数以外の数を抜き出すと素数が残るとかけ?
81 :
ゲンロクダイ(埼玉県) :2010/05/29(土) 16:04:29.95 ID:uklKMEpY
>>77 おしぼりぶつけられるまでがセットのネタなんじゃね?
82 :
ヨシキリザメ(新潟県) :2010/05/29(土) 16:05:14.45 ID:nrEcBANG
83 :
マンタ(アラバマ州) :2010/05/29(土) 16:06:01.75 ID:038xMeIC
何かおもしろくなってきた VB21010ダウンロードしてきて 並列処理させたプログラム書いてみるかな 1万桁ぐらいまでかけるかな?
84 :
ヒラアジ(東日本) :2010/05/29(土) 16:07:25.15 ID:NYF30wPe
>>82 元コードが100以下の素数だから。
100のところを自分の環境が許す限り大きくしてみれば?
文字数制限に引っかかるかなw
85 :
アデヤッコ(静岡県) :2010/05/29(土) 16:08:46.12 ID:jeb91Wjb
nが素数だったら、n+2が素数であることは結構ある それと、n^2+1も素数であることが結構ある
86 :
グローライトテトラ(福井県) :2010/05/29(土) 16:09:28.20 ID:+TImbOgJ
どうして0は仲間はずれなの?
BASICの練習問題かよ
88 :
ヨシキリザメ(新潟県) :2010/05/29(土) 16:09:48.65 ID:nrEcBANG
>>84 だと思って1000000にしたらなかなか出てこなかったわw
89 :
ヘラヤガラ(東京都) :2010/05/29(土) 16:10:49.14 ID:tE6wCWqL
KEISHU5
90 :
ヒラアジ(東日本) :2010/05/29(土) 16:10:54.81 ID:NYF30wPe
w
92 :
ヤイトハタ(埼玉県) :2010/05/29(土) 16:11:30.17 ID:+ZA0z27M
NHKのリーマン予想はおもしろかった 意味不明だけど
>>86 1と自分だけで割り切れる数だっつーのに、
0で割った時点でエラーだろ
エラトステネスのふるいでやると数百万くらいまでなら数秒で計算できるはず
95 :
ヒラアジ(東日本) :2010/05/29(土) 16:14:23.50 ID:NYF30wPe
もしスクリプトが動きっぱなしで戻ってこなくなった場合は Ctrl + Shift + Esc キーを同時押し →タスクマネージャーが起動するので 「プロセス」にタブを切り替え →「wscript.exe」を見つけて 右クリック「プロセスの終了」
int i,j,x[101]; for(i=2;i<101;i++) x[i]=1; for(i=2;i<101;i++) { if (x[i] == 1) { for(j=i+i;j<101;j+=i) x[j]=0; } } for(i=2;i<101;i++) if (x[i] == 1) printf("%d ", i); mod とか使うと割り算やからくそとろいやないけ
97 :
ヒラアジ(東日本) :2010/05/29(土) 16:26:09.06 ID:NYF30wPe
簡単なものに見せたいだけでしょ
98 :
ヒラアジ(東日本) :2010/05/29(土) 16:34:00.36 ID:NYF30wPe
マイクロソフトさん vbsでvbとまったく同じものが動くようにしてくれないかなぁ。
>>14 海外では1も素数に含めるとか聞いたことはあるな
100 :
マンタ(アラバマ州) :2010/05/29(土) 16:42:26.44 ID:038xMeIC
一人ぐらいAppleScriptで書いてくれる奴が出てくるのを期待してる
Excel vbaでセルに書き出してみた。自分のショボイPCだと時間がかかったな Sub aaa() Dim isPrime As Boolean Dim i As Long Dim j As Long Dim l As Long l = 1 For i = 2 To 1000000 isPrime = True For j = 2 To i - 1 If i Mod j = 0 Then isPrime = False Exit For End If Next j If isPrime Then Cells(l, 1).Value = i l = l + 1 End If Next i End Sub ここまでで78498件でした
int i,j,x[101]; for(i=2;i<101;i++) x[i]=1; for(i=2;i<101;i++) { if (x[i] == 1) { printf("%d ", i); for(j=i+i;j<101;j+=i) x[j]=0; } } こうできたな
103 :
レンギョ(長屋) :2010/05/29(土) 16:44:17.59 ID:1QylItQn
いったい何をしゃべってんだお前ら
104 :
アミメチョウチョウウオ(長屋) :2010/05/29(土) 16:45:49.67 ID:tuILdtPF
素股
105 :
ドチザメ(東京都) :2010/05/29(土) 16:48:21.79 ID:CsHlcl0c
レベル素数ホーリー
106 :
アデヤッコ(宮城県) :2010/05/29(土) 16:48:43.61 ID:IdqvA6Yt BE:48924735-2BP(4545)
呼んだ?
素数って未だになんかの関数かなんかで表せなかったんだ
108 :
ゴマハゼ(関西地方) :2010/05/29(土) 17:05:27.10 ID:HTivt91Y
√i まで調べればいいんだけどね √i < i/2 だから i/2 まででもいい
VS2010インスコ中なんだけど プログラム作り終わる頃にはこのスレ落ちてそうだな
111 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 17:34:23.52 ID:ILlOWMmF
>>111 MSのサイトで落とせるISOで2.5GBぐらい
今はオンラインインストールしてるから時間かかるかも
今は新規PCにインストールしてるけど
2003と2008が共存できたから共存は出来ると思うよ
113 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 17:45:43.65 ID:ILlOWMmF
>>112 thx
ちょっと興味あるな
文法は殆ど変わってないみたいだが
#define MAX 10000000000000 long long int i,j; _Bool x[MAX+1]; for(i=2;i<=MAX;i++) x[i]=1; for(i=2;i<=MAX;i++) { if (x[i]) { printf("%d ", i); for(j=i+i;j<=MAX;j+=i) x[j]=0; } } こういう感じが時間最小になるハズ メモリがあれば
2 3 5 7 9 11 13 までしかわかりません
116 :
ムブナ(長野県) :2010/05/29(土) 18:11:26.90 ID:qJxcwHZD
両親が素数という言葉を発したのを聞いたことは一度もないが、普通に生きてるから、たぶん知らなくても生きていける。
117 :
ナンヨウツバメウオ(山形県) :2010/05/29(土) 18:15:51.43 ID:nT/JjcVa
素数を数えて落ち着くスレだと思ったらプログラムを組んでたでござる
118 :
ヒラアジ(東日本) :2010/05/29(土) 18:27:23.48 ID:NYF30wPe
>>117 おれもそう思って来たんだけどな・・・・
119 :
アブラヒガイ(大阪府) :2010/05/29(土) 18:34:11.97 ID:xWJI30t0 BE:2619459195-2BP(124)
ただの概念上の記号の羅列だしな
120 :
ガー(東京都) :2010/05/29(土) 18:44:33.93 ID:tHwTslGM
>>14 ググったら素因数分解の一意性の保証のためと書いてあったぞ
本当かどうかは知らん
122 :
ヒラアジ(東日本) :2010/05/29(土) 19:02:32.39 ID:NYF30wPe
新規テキスト作って、以下を書き込み保存 dim pi pi=4*(12*ATN(1/49)+32*ATN(1/57)-5*ATN(1/239)+12*ATN(1/110443)) MsgBox("円周率=" & pi) ファイルの拡張子を.vbsに変更 ダブルクリック
落ち着け
124 :
マンタ(アラバマ州) :2010/05/29(土) 19:09:11.75 ID:038xMeIC
VBScriptに変数宣言はいらないんじゃなかった?
125 :
イワナ(長屋) :2010/05/29(土) 19:09:50.13 ID:e/0QUSO/
人生って素数だよな 割り切れない
126 :
ヒラアジ(東日本) :2010/05/29(土) 19:11:09.21 ID:NYF30wPe
>>124 いらないけどね。
ついダブル指定して → エラー → あれ?いらないかでAs以降削除 → この有様
>>125 まあ自分自身で割り切らないとやっていけないな
128 :
マダラ(アラバマ州) :2010/05/29(土) 19:21:31.34 ID:TGm0VzzZ
>>63 ゴールドバッハ予想だっけ
いつ証明されるんでしょうか、これ
129 :
ヒラアジ(東日本) :2010/05/29(土) 19:26:01.52 ID:NYF30wPe
>>68 >>70 ゴールドバッハの予想
4以上の全ての偶数は、二つの素数の和で表すことができる。
6以上の全ての偶数は、二つの奇素数の和で表すことができる。
130 :
ヒラアジ(東日本) :2010/05/29(土) 19:35:17.98 ID:NYF30wPe
わたしに勇気を与えてくれる
131 :
エイ(長屋) :2010/05/29(土) 19:40:19.59 ID:VVochtMn
UBASIC使えよ。いろいろ捗るぞ
まだVS2010のインストールおわらねぇw
133 :
ヒラアジ(東日本) :2010/05/29(土) 19:56:19.45 ID:NYF30wPe
それおかしくねえの?
134 :
ヘラヤガラ(長屋) :2010/05/29(土) 19:58:03.97 ID:mICqmq5D
4以上の全ての偶数はふたつの素数の和で表される。 6以上の全ての数は3つの素数の和で表される。 証明できたらほめてやるよ。
ようやく終わった 今ヘルプファイルをインストールしてる ノートだから遅いのは仕方ないか
136 :
ワラサ(アラバマ州) :2010/05/29(土) 19:58:49.95 ID:JucBAxG/
>>129 素数って偶数は2しかないんだから
偶数は奇数+奇数しかないんじゃないの?
上と下の違いがわからないんだけど
137 :
ヤマノカミ(catv?) :2010/05/29(土) 20:02:05.48 ID:y735eZe7
そ、素数ちゃうわ!
索敵に見えた。 さようなら
139 :
ヤマノカミ(catv?) :2010/05/29(土) 20:03:57.73 ID:y735eZe7
そ、素数ちゃうわ
140 :
アデヤッコ(栃木県) :2010/05/29(土) 20:05:31.41 ID:jz78i4CI
メルセンヌ素数を書き出していくと 10分くらいの暇つぶしになるよ。
142 :
チゴダラ(千葉県) :2010/05/29(土) 20:18:26.21 ID:VAJSosAQ
素数にはロマンを感じる。
144 :
ヨシキリザメ(新潟県) :2010/05/29(土) 20:28:21.83 ID:nrEcBANG
しかしほんとに不思議だよな リーマン問題が解かれても俺には意味すらわからないんだろうな
145 :
ゼゼラ(catv?) :2010/05/29(土) 20:37:11.66 ID:Zb9QJEkn
で、このスレで出てきたアルゴリズムでどれが一番早いんだよ
素数に1を含めるかどうかについて気まぐれとかいってる人がいるので。 そう思ってしまうのは 1を除く1と自分自身以外で割りきれない数 という風に教える人がいるからだと思う。 素数の一般的というかわかりやすい定義は、 約数がきっかり2つの数 というもの。8は1,2,4,8だからだめ。 11は1,11だからおk。1は1だかだだめぽ。 更にいうと実用上素因数分解(素数の掛け算で表すってことね)をする際に、 素数を1に含めない場合、 24=2*2*2*3 となるが、1を含めちゃうと 24=2*2*2*3=1*2*2*2*3=1*1*2*2*2*3 みたいに色々書けちゃうので面倒。 まぁ1をふくめるなら 素因数分解の際、1*というのを必ずきっかり一個だけ含めるとする って決めごとつくればたいして困らないが、そしたら今度は素因数分解の定義が不自然になる。
147 :
カエルウオ(アラバマ州) :2010/05/29(土) 21:12:44.99 ID:Mx2wkp9E
リーマン予想の証明はまだ?
148 :
ヒラアジ(東日本) :2010/05/29(土) 21:33:03.78 ID:NYF30wPe
>>78 だと全て表示されないので対策版(これも限界あるけど)
新規テキスト作って、以下を書き込み保存
s = "素数="
x = inputbox("計算範囲入力!(10000以上はきつい)",,"100")
For i = 2 To x
isPrime = True
For j = 2 To i - 1
If i Mod j = 0 Then
isPrime = False
exit For
End If
Next
If isPrime Then s = s & "," & CSTr(i)
Next
Wscript.echo(s)
ファイルの拡張子を.vbsに変更
ダブルクリック
149 :
ヒラアジ(東日本) :2010/05/29(土) 22:11:56.74 ID:NYF30wPe
キャッシュを超えるからなのか大きな数字で計算するとすっごい時間が掛かるな。 2万で20minぐらいか。
150 :
ホタルジャコ(catv?) :2010/05/29(土) 22:13:06.57 ID:siXB39BE
素数やん
やっとVS2010インスコ終わったわ
152 :
トゲチョウチョウウオ(アラバマ州) :2010/05/29(土) 22:16:28.42 ID:ILlOWMmF
153 :
アデヤッコ(京都府) :2010/05/29(土) 22:17:28.57 ID:sV7Ep6FQ
VB(猛烈苦笑)
154 :
アデヤッコ(京都府) :2010/05/29(土) 22:19:26.06 ID:sV7Ep6FQ
エラトステネスの篩とかイチイチカッコいいんだよ
155 :
レインボーフィッシュ(アラバマ州) :2010/05/29(土) 22:19:48.70 ID:roJ/PLXp
なんか映画なかった? 立方体の箱みたいなところに突然押し込まれて 脱出方法探しますっていうかんじの
156 :
ホタルジャコ(catv?) :2010/05/29(土) 22:20:57.00 ID:siXB39BE
157 :
レインボーフィッシュ(アラバマ州) :2010/05/29(土) 22:24:02.00 ID:roJ/PLXp
>>156 それそれあんがと
また見たくなったなあ
158 :
ヌノサラシ(東日本) :2010/05/29(土) 22:32:11.06 ID:Rjp1B4Ng
暗号通信用に数百桁の素数を用意してたりするけど あれってどうやって作ってるんだろ 素数かどうか確認する必要あるだろうし あの桁数の素数が簡単に作れて確認できたら 暗号自体の強さに影響あるような気がするんだけど
159 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 22:35:35.61 ID:vasSe1mT
>>155 初代CUBE懐かしいな。あのサヴァンのせいで
数学得意眼鏡っ娘がアイデンティティ失ってカワイソス。
160 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 22:37:33.22 ID:vasSe1mT
>>158 俺の古い記憶が確かなら >54 の動画内にある。
素数を管理するサーバーは解読の鍵になってるから
厳重な物理的セキュリティで守られてる。
161 :
アブラヒガイ(大阪府) :2010/05/29(土) 22:39:38.50 ID:xWJI30t0 BE:3725453388-2BP(124)
>>158 チミが書いてるとおり
素数判定のアルゴリズムを使うんだろうな
もちろん桁数が多いもんどうしの素数同士の積なら
暗号強度も強くなる
FFTというソースを見つけて、wavデータから、何かの出力(実数と虚数?)を 得ることができるようになったんだけど、 これから周波数と位相ってどうやって求めるの? 最終的にはマイクから入力した音声に、アイウエオが含まれているかを知りたいんだ。
一千万まで回そうとしたけれど、5354117 , 5354119 の双子素数のあたりでギブアップw
165 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 22:47:36.73 ID:vasSe1mT
>>162 1で割れるのは問題じゃない気がする。
素数同士の積が素数になってしまうのが最大の問題だと思う。
素因数分解しても、最後に1、1、1、1、1、1、1・・・・(>120既出)
166 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 22:49:06.71 ID:vasSe1mT
>>164 平方根とってループ回数減らせば?
何ていうんだっけ?素数根の一次独立だっけ?
167 :
ヌノサラシ(東日本) :2010/05/29(土) 22:50:18.25 ID:Rjp1B4Ng
>>160-161 あの番組のサーバーのシーンは見たことあるけど
あれがどっかで作られた素数列を単に管理しているサーバーなのか
素数を自動的にどんどん作って独自のすごいアルゴリズムで
検証しているサーバーなのかよくわからなかった
168 :
アブラヒガイ(大阪府) :2010/05/29(土) 22:51:16.96 ID:xWJI30t0 BE:1164204454-2BP(124)
楕円曲線法で調べると
なにか新しい発見があるかもねw
169 :
ハダカイワシ(千葉県) :2010/05/29(土) 22:52:03.65 ID:T1iBBB9t
大胆素敵
170 :
サクラダイ(石川県) :2010/05/29(土) 23:00:51.83 ID:Ug9iy6PH
ばかだな ・配列sosu[]作ってsosu[0]=2を最初にいれてカウンタmax=0をにする ・for idy=1 to 1000000000 ・flag=false ・for idx=0 to max ・ if(.・if((idy mod sosu[idx])=0) then ・ flag=true ・ endif ・next ・if (flag=false) then ・ max=max+1 ・ sosu[max]=idy ・endif ・next 説明するつもりがつくっちまった。 配列つかって計算した素数で割り切れなかったら素数を実装してやればいい
171 :
イトヨ(神奈川県) :2010/05/29(土) 23:01:33.23 ID:6yWtGcmb
>>167 時間かかるのは素因数分解で素数判定自体は大して時間かかんないんじゃないの
172 :
テッポウウオ(アラバマ州) :2010/05/29(土) 23:02:37.94 ID:DXmK8Vfa
javascriptで誰かつくれ
173 :
ダトニオ(関東・甲信越) :2010/05/29(土) 23:05:05.10 ID:BQmSzp54
素股に見えてちょっとわくわくしながらスレ開いた
一晩で六千万くらいまで計算して飽きた
175 :
カイヤン(新潟県) :2010/05/29(土) 23:10:20.04 ID:VXMH33DN
索敵に見えた
176 :
テッポウウオ(アラバマ州) :2010/05/29(土) 23:11:37.71 ID:DXmK8Vfa
だれかスクリプトがなにやってるかソースに日本語添えてせつめいしてくれ
>>176 xをx未満の数で割りまくって割り切れなければ素数
ってとこだろ
178 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 23:23:54.29 ID:vasSe1mT
>>170 上でも書いたけど、なんで未満の全素数で回そうとすんの?
調べようとする数字の平方根を超えない整数まででいいのに。
101を調べるのに、11以上の素数で割る意味あんの?
179 :
ヘラヤガラ(東日本) :2010/05/29(土) 23:32:16.81 ID:oI9btSRq
偶数を除外しようとしたら 「2」を取得した時点で矛盾が発生して崩壊した
180 :
テッポウウオ(アラバマ州) :2010/05/29(土) 23:32:51.06 ID:DXmK8Vfa
>>177 それをどうやって実装してるかしりたいんだけど
プッチ神父
183 :
サクラダイ(石川県) :2010/05/29(土) 23:35:11.51 ID:Ug9iy6PH
>>178 わからん。なんで平方根までなの?
あと実装してやったら動かないでやんの。
デバッグおわって1000までの答えは出たけど、
さらっと書いて動かなかったんで年くったなぁとおもた。
184 :
イトヨ(神奈川県) :2010/05/29(土) 23:38:38.20 ID:6yWtGcmb
185 :
サクラダイ(石川県) :2010/05/29(土) 23:40:36.76 ID:Ug9iy6PH
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 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 last ostr= 947 953 967 971 977 983 991 997 max= 167 あってる?
186 :
アブラヒガイ(大阪府) :2010/05/29(土) 23:45:01.23 ID:xWJI30t0 BE:3143351669-2BP(124)
>>183 そら、2つの素数の積に限定してるから
平方根まででいいんじゃない
187 :
ソウギョ(catv?) :2010/05/29(土) 23:45:49.73 ID:D8UX9QsA
>>183 Q=P1×P2(P1<=P2)と素因数分解できるものとすると、
P1<=√Q
√Q<=P2が常に成り立ってるはず
P1で割っていればP2もすぐわかるはずだから常に素因数分解の小さい方だけを考えておけばいい
だから√Qより大きい数は無視していい
189 :
サクラダイ(石川県) :2010/05/29(土) 23:47:59.44 ID:Ug9iy6PH
10万まで計算した。10万で1万個近くもの素数でてきた long配列オーバーフローしそうww ・・・・ 99661 99667 99679 99689 99707 99709 99713 99719 99721 99733 99761 99767 99787 99793 99809 99817 99823 99829 99833 99839 99859 99871 99877 99881 99901 99907 99923 99929 99961 99971 last ostr= 99989 99991 max= 9591
190 :
コショウダイ(東京都) :2010/05/29(土) 23:49:26.73 ID:cgpgRw2o
誰だよ三年くらい前に2010でVBは死滅するって言ったのは いまだにC#は単価が高い!とかいうわけのわからん理由でVB書かされる身にもなれよMSは
俺素数
192 :
ツムギハゼ(アラバマ州) :2010/05/29(土) 23:50:34.65 ID:vasSe1mT
>>183 もし平方根以上の素数で割り切れた場合、
その商は調べようとした整数の平方根以下だからだよ。
例えば、面積が a の長方形がある。
この面積は縦 x と 横 y の積なんだけど、
x と y が整数になるかどうかを調べる為、
x を 2 から1ずつ上げていった場合、
どこで止める?正方形になったら(√a )でしょ?
______ / \ /\ / し (>) (<)\ 落ち着け 落ち着いて 素数を数えろ… | ∪ (__人__) J | 1、3、5、7、9、11、13 \ u `⌒´ / | | | ノ \ | | |
195 :
テッポウウオ(アラバマ州) :2010/05/29(土) 23:53:28.14 ID:DXmK8Vfa
>>184 これって見つけた素数を暗記しないといけないやつだろ
一番は平方根以下で割りまくるってやつだな
なんでvbsとかわけわからん拡張子なんだよjsでいいだろ
素数なんかもうデフレ状態 完全数でがんばれよ
鉄格子見てたらムラムラしてきた・・・
素数判定プログラム void sosuu(int n) { printf("%dは素数です\n",n); }
199 :
サクラマス(石川県) :2010/05/30(日) 00:07:14.05 ID:uBHP4Ufv
Private Sub コマンド1_Click() Dim sosu(10000) As Long Dim max As Integer Dim flag As Boolean Dim ostr As String Dim idy As Long sosu(0) = 2 max = 0 'For idy = 1 To 1000000000 For idy = 3 To 1000 flag = False For idx = 0 To max If (Sqr(idy) < sosu(idx)) Then Exit For If ((idy Mod sosu(idx)) = 0) Then flag = True Exit For End If Next If (flag = False) Then max = max + 1 sosu(max) = idy End If Next こんでいいのかな?
200 :
サクラマス(石川県) :2010/05/30(日) 00:11:43.33 ID:uBHP4Ufv
あと10兆まで難なく計算できる型と配列がほしいんだがどうすんべー
201 :
アナゴ(東京都) :2010/05/30(日) 00:15:27.71 ID:l+vpRxbb BE:336948252-2BP(122)
おっす!オラ素数!
202 :
オオメハタ(京都府) :2010/05/30(日) 00:16:06.42 ID:4FkZWwo2
203 :
ツムブリ(アラバマ州) :2010/05/30(日) 00:17:06.53 ID:9hz0FAh2
>>199 Sqr(idy) < sosu(idx)
VBSってキャストしなくてもいいんだー。
キャスト不要ならこの判定文、sqr関数の中身みないと何とも言えないけど、
この関数呼び出すより、sosu(idx)を2乗したほうが処理が早くない?
>>202 つかCコンパイラ通して実行形式にしたら早いのは分かりきってるだろそれ
206 :
サクラマス(石川県) :2010/05/30(日) 00:29:01.07 ID:uBHP4Ufv
手詰まりだ。うちvb6(笑)だから64bit演算できなさげ さいならー
207 :
サクラマス(石川県) :2010/05/30(日) 00:31:35.68 ID:uBHP4Ufv
>>203 いやでもオーバーフロー考えたらキチンとキャストしてSqrとったほうがいいかもね
208 :
オオメハタ(京都府) :2010/05/30(日) 00:32:54.89 ID:4FkZWwo2
>>205 別に「おまえらおっそwww」みたいなことは言ってないよ
>>208 そうかすまんな。つい意地になってしまうもんなんだこういうのはw
#define MAX 10000000000000 /*計算範囲の最大値*/ long long int i,j,k; /*64bitの長い変数を3個取る*/ _Bool x[MAX+1],f; /*2値フラグの配列を最大値+1個, 計算中か否かのフラグを取る*/ /*全配列をまず素数とする*/ for(i=2;i<=MAX;i++) x[i]=True; f=True;/*素数計算中*/ for(i=2;i<=MAX;i++) { if (x[i]) { /* 配列i True ならば素数として出力*/ printf("%d ", i); if (f) { /*計算中なら下記処理を行う*/ for(j=i+i,k=2;j<=MAX;j+=i,k++) x[j]=False; /*iの倍数の配列をFalse*/ if (i >= k)/* iのk倍まで計算したkよりiが大きいなら平方根を超えたので計算終了*/ f=False; } } }
211 :
アブラボウズ(大阪府) :2010/05/30(日) 00:35:31.10 ID:alESfHty BE:1455255555-2BP(124)
>>206 多倍長演算のライブラリ作ってねばらないとw
>>211 おれの技量にしろ、vb6(笑)にしろ、どっちも厳しそうなので寝れなくなるわw
213 :
アナゴ(dion軍) :2010/05/30(日) 00:53:48.24 ID:Tmahg21y
214 :
アナゴ(静岡県) :2010/05/30(日) 00:57:27.43 ID:aKH+4Ui2
マセマティカを使えば一発だぞ
215 :
サクラマス(石川県) :2010/05/30(日) 01:02:35.45 ID:uBHP4Ufv
それ以下の数ぶん回しよりは、計算した素数分で割ってやれば回転回数は激減するよ 代わりに格納する配列分のメモリ&使用言語のメモリ制限&メモリ超えた場合のIO処理など いろいろ別なところで負荷かけることになるだろうけど。
216 :
ドジョウ(アラバマ州) :2010/05/30(日) 01:02:43.86 ID:BpZpiZ8n
素数専用のクラスを実装すべき
217 :
プラティ(山梨県) :2010/05/30(日) 02:20:23.79 ID:MFaQaNnC
// csc.exe でコンパイル using System; namespace prime { class MainClass { public static void Main(string[] args) { int x = 100000; int i, j; bool isPrime; for (i = 2; i < x; ++i) { isPrime = true; for (j = 2; j < i - 1; ++j) { if ((i % j) == 0) { isPrime = false; break; } } if (isPrime) Console.WriteLine(i.ToString()); } } } }
SIMD化しないと
やっとVB2010でプログラム書いた
>>1 を元に桁増やしてマルチコア対応に書き直してみる
220 :
エボシダイ(catv?) :2010/05/30(日) 03:59:36.25 ID:9HG5XAwh
リーマン予想を解こうとする数学者は潰れる。 これ豆な。
大学受験のとき素数問題だけはどうしても苦手だった あればっかりは才能だと思うわ
222 :
ピライーバ(東日本) :2010/05/30(日) 06:02:28.19 ID:qRsqe3N4
223 :
サクラマス(石川県) :2010/05/30(日) 08:01:33.65 ID:uBHP4Ufv
Sqr(idy)をidxループ前に変数に入れておいた方がmax回分計算しなくてすむからそっちのほうが早いな
224 :
ピライーバ(東日本) :2010/05/30(日) 08:43:58.66 ID:qRsqe3N4
マダァ-? (・∀・ )っ/凵⌒☆チンチン
225 :
シマガツオ(宮崎県) :2010/05/30(日) 09:24:40.10 ID:97/kD4VT
すかずってなんだよー
226 :
フエフキダイ(神奈川県) :2010/05/30(日) 09:33:28.10 ID:z6efBPVu
5次元以上の方程式を解く公式を作れない数学者は、全員死んだ方がいいと思うよ。
227 :
ピライーバ(東日本) :2010/05/30(日) 09:36:33.64 ID:qRsqe3N4
五右衛門
228 :
アピストグラマ(高知県) :2010/05/30(日) 14:39:34.95 ID:qw1JyejC
保守
229 :
サクラマス(石川県) :2010/05/30(日) 14:43:51.59 ID:uBHP4Ufv
俺も保守。今Access2000でDB使ってどれほどのもんができるのかやってる
230 :
ライギョ(東京都) :2010/05/30(日) 14:45:01.67 ID:0l/UgOhF
俺、なにげに素数の発生する順番の法則を見つけたんだけど。 これって大発見なのかな?
素数を数えて落ち着いてるやつが思ったより少ないな・・・
233 :
ドジョウ(アラバマ州) :2010/05/30(日) 15:04:18.05 ID:BpZpiZ8n
そいつからレスが返ってくることはないと思う
>>232 あ〜!
もっと早く行ってくれればメモ紙シュレッダーにかけなかったのに〜・・・
235 :
サクラマス(石川県) :2010/05/30(日) 15:37:14.45 ID:uBHP4Ufv
配列の代わりにDBに素数ぶちこんでく方法つかったら遅かった。 10万まで:素数約1万個で10分ぐらいかかったんじゃねぇかな
236 :
ピライーバ(東日本) :2010/05/30(日) 15:51:46.96 ID:qRsqe3N4
一定の数までは内部メモリに貯めて まとめて書き出した方が早いんじゃないの?
現実的には最初の1000個を配列で保持 それ以上は1000個単位ぐらいで区切ってファイルで保持 配列の1000個で素数じゃないと証明できなかったら、IOでそれ以上の素数を引っ張ってきてループ というのが現実的かなぁ
238 :
サクラマス(石川県) :2010/05/30(日) 15:56:24.65 ID:uBHP4Ufv
>>236 AccessはDBがファイル単位になってるから全部メモリ上にあるようなもんだし
早いかなとおもってDB試してみたんだ。
まぁなんかやり方おかしかったのかもしれないけど遅かったわ
239 :
ウマヅラハギ(埼玉県) :2010/05/30(日) 15:56:57.50 ID:UWv1sE/F
こういう素数リストって暗号化につかうんだろうけど10兆とか民生用じゃもういらなくね? MSのCipher.exeで必要十分なのに、意味もなく恐怖を煽って 何の意味もないソフト買わせるような詐欺もどき商法はいい加減にした方がいい
240 :
アナゴ(千葉県) :2010/05/30(日) 16:09:02.29 ID:BwbhVSXd BE:167484858-PLT(13333)
10兆なら多倍長演算不要かぁ でも数兆個も素数保存するのには、一体何テラバイト必要なんスか・・・
241 :
テッポウウオ(catv?) :2010/05/30(日) 16:23:29.51 ID:k3Ui1x0D
242 :
サクラマス(石川県) :2010/05/30(日) 16:29:33.69 ID:uBHP4Ufv
>>240 計算してみよう
10万で1万個素数がでてきたから、適当に素数が発生する確率は求める桁数の1/10程度ということに仮定すると
10兆内の素数は1兆個でてくるわけで、64bit=8バイトで表現するとすると
8兆バイト=80億kバイト=800万Mバイト=8000Gバイト=8T
実際は1024でわっていってるからもう少しすくないとはおもうが
ちなみに10兆の数字をbit列に換算して10兆bitを順に1〜10兆を素数かどうかを判定する真偽値として データ作成した場合10兆bit=1兆2500億byte=12億5000万KB=125万MB=1250GB=1.25TB
244 :
サクラマス(石川県) :2010/05/30(日) 19:45:34.24 ID:uBHP4Ufv
素数かどうかしらべる範囲はその数の平方根まででしらべればいいんだよね? なら10兆を素数かどうか調べるには3162277までの素数調べればいいんだ。 で、いくつあんの?
245 :
ピライーバ(東日本) :2010/05/30(日) 19:47:43.10 ID:qRsqe3N4
計算する気がしねえw
246 :
アブラボウズ(大阪府) :2010/05/30(日) 20:07:23.82 ID:alESfHty BE:1164204454-2BP(124)
>>244 大体でだけど227674個ぐらいあるのだろう、きっとw
247 :
サクラマス(石川県) :2010/05/30(日) 21:17:57.44 ID:uBHP4Ufv
64bit=8byte 8byte×20万=160万byte=1.6Mbyte あら?メモリ格納できそうじゃね?
素数素敵!
N以下の素数の数π(N)は N/log_e(N) で近似できる N=10兆だとおよそ334072678387 ≒ 3340億個
250 :
アブラボウズ(大阪府) :2010/05/30(日) 21:51:23.95 ID:alESfHty BE:1571675393-2BP(124)
251 :
アブラボウズ(大阪府) :2010/05/30(日) 21:53:35.74 ID:alESfHty BE:1629886447-2BP(124)
>>249 おれはリーマン関数を使ったけどw
3162277までの素数の個数でいいらしいよ
252 :
カクレクマノミ(岐阜県) :2010/05/30(日) 22:09:32.03 ID:UkjK1Qw4
>>210 #define MAX 10000000000000 /*計算範囲の最大値*/
_Bool x[MAX+1];
こういう大きい配列はコンパイル時にエラーになるのだけど
どうしたらいいの?malloc()で領域とっても実行時にエラーに
なるし。
253 :
アブラボウズ(大阪府) :2010/05/30(日) 22:11:58.51 ID:alESfHty BE:582102252-2BP(124)
>>252 mallocの引数intが32bitだからじゃないのw
254 :
エンドラーズ・ライブベアラ(広島県) :2010/05/30(日) 22:13:01.11 ID:ii+9yEFr
3.141516までなら覚えてる
255 :
アユ(埼玉県) :2010/05/30(日) 22:15:38.39 ID:asxFRdHh
うおーVBならとりあえずはわかるけどC++は勉強しねえとな・・・
256 :
パピリオクロミス・アルティスピノーサ(東京都) :2010/05/30(日) 22:18:01.44 ID:PxvJ8cZi
10 cls 20 a=rnd*6+1:circle (rnd*600,rnd*440),rnd*30+10,6,,,,f,a 30 goto 20
257 :
カワアナゴ(新潟県) :2010/05/30(日) 22:19:18.72 ID:5pESElYh
素敵に見えた
ア・・アメちゃんくれる?
259 :
サクラマス(石川県) :2010/05/30(日) 22:42:22.74 ID:uBHP4Ufv
無理やり配列とループ増やして100万まで計算してみた7万個素数みつかった 大体30秒ぐらいかなぁ 999431 999433 999437 999451 999491 999499 999521 999529 999541 999553 999563 999599 999611 999613 999623 999631 999653 999667 999671 999683 999721 999727 999749 999763 999769 999773 999809 999853 999863 999883 last ostr= 999907 999917 999931 999953 999959 999961 999979 999983 max= 78497
260 :
キビナゴ(dion軍) :2010/05/30(日) 22:43:30.47 ID:xymjIw2Y
エリーマイラブ素数いーと
261 :
タカノハダイ(東京都) :2010/05/30(日) 22:50:35.92 ID:n2RUpURF
VBはSetステートメントが分かりにくいから嫌だ
262 :
サクラマス(石川県) :2010/05/30(日) 23:28:28.06 ID:uBHP4Ufv
for i=0 to max のmaxが32万以上になったらどうも上手くループがまわらない気がする
Sub Macro1() Const MAX = 200000000 '計算範囲の最大値 Dim i, j, k As Long '長い変数を3個取る Dim x(MAX + 1),f As Boolean '2値フラグの配列を最大値+1個計算中か否かのフラグ取る For i = 2 To MAX x(i) = True Next i'全配列をまず素数とする f = True '素数計算中 Range("A1").Select For i = 2 To MAX If x(i) = True Then '配列i True ならば素数として出力 ActiveCell.FormulaR1C1 = i If ActiveCell.Row = 65536 Then ActiveCell.Offset(-65535, 1).Activate Else ActiveCell.Offset(1, 0).Activate End If'次のセルへ If f = True Then '計算中なら下記処理を行う k = 2 For j = i + i To MAX Step i x(j) = False 'iの倍数の配列をFalse k = k + 1 Next j If i > k Then ' iのk倍まで計算したkよりiが大きいなら平方が範囲を超えたので計算終了 f = False End If End If End If Next i End Sub
EXCEL MACRO では2億ぐらいでメモリオーバーだな ループの中に乗除算関数の重い処理を可能な限り入れない ベンチマークを競う場合、必須としたい ただ、プログラムスキルとして評価されるところ日本にあるかわからんけどな
265 :
アブラボウズ(大阪府) :2010/05/30(日) 23:54:07.70 ID:alESfHty BE:1397045546-2BP(124)
>>262 配列いくらぐらいでとってる?
>>247 の20万ぴったりぐらいだと足りないかもしれないね
少し、227674より大きめの数で余裕を持たせないとダメかもw
そんじゃ
266 :
ピライーバ(東日本) :2010/05/30(日) 23:58:13.78 ID:qRsqe3N4
実行時エラー7 メモリが不足しています
267 :
ムツゴロウ(東京都) :2010/05/31(月) 02:09:14.26 ID:OzduFGBq
Scala で書いて
268 :
ゼニタナゴ(神奈川県) :2010/05/31(月) 02:11:18.13 ID:SiJYfsQ6
Project Eulerスレか
269 :
ドチザメ(アラバマ州) :2010/05/31(月) 02:14:14.34 ID:RMQ67Ssm
まだやってたのか
270 :
ヒラソウダ(東日本) :
2010/05/31(月) 07:10:31.22 ID:SOaY4NL9 まだあったw