• 締切済み

素数の判定

BASICで50までの素数を表示するプログラムが、なかなか分かりません。どなたか初心者にも分かるように教えて下さい。お願いします。

みんなの回答

  • ryuta_mo
  • ベストアンサー率30% (109/354)
回答No.4

50までだったら簡単 dim p(14) p(0)=2 p(1)=3 p(2)=5 p(3)=7 p(4)=11 p(5)=13 p(6)=17 p(7)=19 p(8)=23 p(9)=29 p(10)=31 p(11)=37 p(13)=43 p(14)=47 以上です たった14個だから全部最初から入れればいい

  • ryuta_mo
  • ベストアンサー率30% (109/354)
回答No.3

昔作った素因数分解のプログラムです Private Sub Command1_Click() Dim iii As Long Text1.Text = "" i = 2 iii = ibun For q = 0 To 1 DoEvents If iii Mod i = 0 Then Text1.Text = Text1.Text + "." & i: iii = iii / i Else: i = i + 1 q = 0 If 2 > iii Then q = 1 Form1.Caption = i Next Text1.Text = Text1.Text + "/END" End Sub 参考になればうれしいです

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

インターネットエクスプローラーを開き、アドレス(D)欄に「素数」と漢字で入力し、エンタを押してください。 沢山の、素数に関するWEBページがあります。 第一ページに、「素数の判定」のHPがあります。「表示」・「ソ―ス」をクリックするとJAVA言語ですが、 判定プログラムが出てきます。HTML文の中のfor(・・・の部分以下です。ご参考まで。

  • prome
  • ベストアンサー率32% (64/196)
回答No.1

Googleで「エラトステネスのふるい」で検索してみてください。 説明しているサイトが結構出てきます。 下記URLは割合丁寧に説明してありました。

参考URL:
http://www.hokuriku.ne.jp/fukiyo/math-obe/eratosu.htm

関連するQ&A

  • 素数判定について

    C言語で、 素数を判定するのに、全ての素数で割ることによって 判定するプログラムって、どのように作ればいいんでしょうか?それを線形リストを使えっていってもわかりません。 全ての数で順に割っていって割りきれた数が割られた数と同じなら素数で、それ以外なら素数ではないというプログラムならできるんですけど。。。

  • 素数判定プログラム

    C言語で、『n以下のすべての素数を求めるプログラム』のソースリストを平方根を使ったやり方で作りたいのですが、エラーが出てしまって、どうしてもうまく作れません。 C言語初心者の上、勉強不足なのが悪いのですが・・・ぜひ教えてください!お願いします!

  • 2進数の表示

    初心者なんですが、 2進数を出すプログラムを作成したところ、 "1011"のように表示したいのですが、プログラム結果"1101"となってしまいます。 最後に逆から表示するしかたがわかりません。 どのようにしたら逆に表示されるのか教えてください。

  • 素数判定

    課題で2~100の素数を表示させるプログラムを作るのですがうまくできません。 自分で作ったのは public class a { public static void(String[] args) { int a; int b; boolearn isSosuu = true for (a=2; a <= 100; a++){ for (b=2; b <= a-1; b++) if (a % b == 0) isSosuu = false; if(isSosuu) System.out.println(a); } } } というものなのですが2と3しか表示されません そらくa=4のときにfalseになって次のifが実行されないと思うのですが どうすればそれを直せるのでしょうか? あとa=2の時はb=2でa%bは0になると思うのですがなぜ2は表示されるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 2進数の表示

    初心者なんですが、2進数を出すプログラムをくんだんですが、 最後に逆から表示するしかたがわかりません。 どのようにしたら逆に表示されるのか教えてください。

  • JAVAで素数判定

    JAVAの勉強をしてます 練習問題で、素数判定のプログラムをしているのですが。 1~14までの判定はうまくいきますが、15の判定の時に素数であると表示されて困ってます。どなたかわかりませんか? //読み込んだ数字 n が 15 の場合 if(n == 1) System.out.println("素数ではありません。"); if(n == 2) System.out.println("素数です。"); for (int i = 2; i < n; i++) { if (n % i == 0) { System.out.println("素数ではありません。"); break; } else { System.out.println("素数です。"); break; } } --結果---------------------------------------------- 素数です

    • ベストアンサー
    • Java
  • 16進数から2進数への変換

    まったくの初心者で困っています(涙) 16進数から2進数への変換プログラム を作成しようとしているのですが うまくいきません! どなたか教えて下さる方はいらっしゃいませんか?

    • ベストアンサー
    • Java
  • 素数を探すプログラム…。

    今作っているプログラムで素数を使用したいのですが、素数を探すプログラムが分からなくて困っています。 どなたか初心者の私にも分かるプログラムを教えていただけませんか? (VB自体には素数を探す関数とか持っていないのでしょうか…?) お願いします。 (P.S)本当は出来るだけ多く探したいのですが確か無限にあるんですよね…。

  • 素数判定の繰返し

    繰返し素数判定を行ない、CtrlーDで終了するプログラムをつくっています。 まず繰返しなしの素数判定プログラムを作り #include<stdio.h> int main(void) { int a,i; printf("自然数を入力:"); scanf("%d",&a); if(a<=0) printf("入力エラーです。\n"); else if(a==1) printf("1は素数ではない。\n"); else{ for(i=2; i*i<=a; i++){ if(a%i==0) break; } if(i*i>a) printf("%dは素数です。\n",a); else printf("%dは素数ではない。\n",a); } return(0); } これはちゃんとできたのですがそれを繰り返すことができません。 #include<stdio.h> int main(void) { int a,i; printf("自然数を入力:"); scanf("%d",&a); while((a=getchar())!=EOF){ if(a<=0) printf("入力エラーです。\n"); else if(a==1) printf("1は素数ではない。\n"); else{ for(i=2; i*i<=a; i++){ if(a%i==0) break; } if(i*i>a) printf("%dは素数です。\n",a); else printf("%dは素数ではない。\n",a); } printf("自然数を入力:"); scanf("%d",&a); } printf("プログラムを終了します。\n"); return(0); } これは訳わからないことになっちゃいます。。。 どうしたらいいんでしょうか??

  • 素数の判定

    自然数Nが√Nを越えない最大の整数以下のすべての素数で割り切れなければ、Nは素数である。 この定理の証明について、わからないことがあるので質問します。本の証明では√Nを越えない最大の整数をnとし、Nがnより大きい素数qで割り切れたとすると、そのときの商をpとして、N=pqである。ここで1<p≦n<q<Nに注意すると、 pが素数ならNは素数pで割り切れるはずだし、pが合成数ならNはpの素因数で割り切れていたはずであり、いずれにしても不合理である。証明終わり。 自分は不合理を示す証明は、背理法を使っていると思ったのですが、その場合自然数Nが素数でないと仮定して証明を始めると思いました。しかし√Nを越えない最大の整数をnとし、Nがnより大きい素数qで割り切れたとすると、という仮定で始まっています。また√Nを越えない最大の整数をnとし、Nがnより大きい素数q以外では割り切れないとすると、という文章の解釈でよいのかと思いましたが、はたして正しい証明なのか疑問が残りました。最後に対偶をとってそれを背理法で証明しているのかと思いました、対偶は、Nが素数でないならば、√Nを越えない最大の整数をnとし、Nはn以下の素数いずれかで割り切れる。ですが、これを背理法で証明しようとすると、 Nはn以下の素数いずれかで割り切れない、という仮定から始まるとおもいました。本の証明の書き出しと違いました。自分で考えた方針では、本の証明とだいぶ違います。 だれか本に書かれた証明で、pで割り切れると何が不合理なのかと、自分の証明の方針のまちがいを指摘してください、お願いします。