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

このQ&Aに関連する最新のQ&A

A 回答 (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個だから全部最初から入れればいい
    • good
    • 0

昔作った素因数分解のプログラムです


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
参考になればうれしいです
    • good
    • 0

インターネットエクスプローラーを開き、アドレス(D)欄に「素数」と漢字で入力し、エンタを押してください。


沢山の、素数に関するWEBページがあります。
第一ページに、「素数の判定」のHPがあります。「表示」・「ソ―ス」をクリックするとJAVA言語ですが、
判定プログラムが出てきます。HTML文の中のfor(・・・の部分以下です。ご参考まで。
    • good
    • 0

Googleで「エラトステネスのふるい」で検索してみてください。


説明しているサイトが結構出てきます。
下記URLは割合丁寧に説明してありました。

参考URL:http://www.hokuriku.ne.jp/fukiyo/math-obe/eratos …
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qプログラミング入門に最適な言語

プログラミング入門に最適な言語
最近プログラミングに興味をもって、プログラミングに挑戦しようと思ってます。

最終的にC++へ行くつもりですが、何の言語からはじめるのがいいでしょうか。
よろしくお願いします。

Aベストアンサー

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめます。

まずは、プログラミングの楽しさ、醍醐味を味わってみてください。

入門書等についてですが
あなたが趣味でコツコツプログラミングをし、
出来たものを自分だけで使うのが目的なら
何でもいいです。

ただし、プログラムを公開する
(フリー、商用問わず)
また、ソースコード(一部でも)
(こういうサイトで質問の為に提示することを含む)
つもりがあるなら、

「きちんとした書籍」

で学ぶことをお勧めします。
「10日で・・・」
とかうたっている物の中には
「動けばいい!」
という姿勢で書かれたものが多く、
ソースコードが非常に読みにくいです。

読みやすいソースコードであれば
こういうサイトでも回答が付きやすいですが、
読みにくいソースコードは
分析に非常に時間がかかるので
回答がなかなかつきません。

また、読みやすいソースコードは
バージョンアップも簡単ですし、

一般に
(例外はありますが)
動作も早く、コンパクトです。

頑張ってください!!!

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめま...続きを読む

Q素数を探すプログラム…。

今作っているプログラムで素数を使用したいのですが、素数を探すプログラムが分からなくて困っています。

どなたか初心者の私にも分かるプログラムを教えていただけませんか?
(VB自体には素数を探す関数とか持っていないのでしょうか…?)

お願いします。

(P.S)本当は出来るだけ多く探したいのですが確か無限にあるんですよね…。

Aベストアンサー

とても大きな数字について、素数であるかどうかを判定するのは、効率のよい方法はなかったと思います。現在でもときどき、
「「2の63乗-1」が素数であることが確認された」
などのような素数に関することがニュースになることがあるぐらいです。
(上の値は適当に書いた値なので、本当に素数かどうかは知りません。)

ある程度小さい数字が素数かどうか判定する場合は、その数の平方根程度までの奇数で割り切れるかどうかを順にすべて調べていくのが単純でいいでしょう。
(ルーチン1)

ある大きさ以下の数が素数であるかどうかを調べ、リストとして出力するのなら、チェックリストを作っておき、ある数の倍数であったら、チェックしていき、最後にチェックされていない数を出力するのがいいでしょう。
(ルーチン2)

上記の実際のコードはたとえば次にようになります。
(別回答とします。)

Qコンピュータープログラミング入門の本

コンピュータープログラミングを独学で学びたいと思ってます。
どのようなことがやりたいか一概にいえませんが、当面はHPを好き勝手に作れるようになったり、ある程度プログラミングが理解できるようになりたいと思ってます。
入門の本(解りやすく飽きさせない、ある程度網羅できる)
という本はないでしょうか??
お願いします。

Aベストアンサー

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログラミング言語C第2版」は、JavaScript の習得のためです。
同著の例文をJavaScriptで書けるようになれば、ほぼ、同言語の文法的なマスターは終了。
「プログラミング言語C第2版」は、かなり古いです。
だが、その例文の再現は、プログラミングの習得にもなり一石二鳥じゃないですかね。
かなり、プログラミングに関する基本的なことが学べますよ。

「Web標準の教科書」は、「XHTMLとCSSでサイトをつくる」上では大変に参考になりました。

なお、プログラミングの独学の成否は、入門書ではなくヘルプ文のみで壁を突破できるか否か。
還暦まじかのじっちゃまは、このように思いますよ。

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログ...続きを読む

QVisualBasicのよるBASICプログラムの実行の可否

初心者な質問ですが、VBでBASICのプログラムを動かすことは可能ですか?VC++でC言語は動かせるようなんですが今度BASICのプログラムを動かすことになってVBを買う予定なんですが、果たして動くのかわかりません。よろしくお願いします。

Aベストアンサー

#1の補足に関して。
DOS-Basicらしいですね。3行では判らないが、素朴な初期のものらしい。あるいは、旧い時代の教科書や解説書のようなものを見ているのかな。
幸い「数値計算して値を計算するというものです」ということなので、あまり入出力は使ってないように予測するので、置換を使って変更すれば、後は
手数的にはそんなに、変更しなくてもよいとおもう。
たとえばInput-->Inputbox()
Printーーー>Msgbox
など対応表を考えてやったことあり。SIN、COSや関数はそのまま使えるでしょう。
ただプログラムは1文字違っても、全く動かない不融通の世界なので、甘く考えないこと。上記はVB程度のことなのだが、VB.NETだと様子が
変わるかも。
それに「VBを買う予定」の私の質問に答えていませんね。これが大事ですよ。
エクセルが使える環境なら、エクセルVBAで、本件Basicプログラムを移植し、動かせるケースもあるかもしれない。
XX.BASはテキスト形式だと思うので、メモ帳に読み込めるか、読み込めるなら、コピーして、VBEの標準モジュールの画面に貼り付け、そこから、悪戦苦闘開始ですね。 

#1の補足に関して。
DOS-Basicらしいですね。3行では判らないが、素朴な初期のものらしい。あるいは、旧い時代の教科書や解説書のようなものを見ているのかな。
幸い「数値計算して値を計算するというものです」ということなので、あまり入出力は使ってないように予測するので、置換を使って変更すれば、後は
手数的にはそんなに、変更しなくてもよいとおもう。
たとえばInput-->Inputbox()
Printーーー>Msgbox
など対応表を考えてやったことあり。SIN、COS...続きを読む

Qプログラミング入門

プログラミング入門
今、私はプログラミングの勉強をしたいなーと思っています。それでホント初心者でも一からできるソフトはないでしょうか?または詳しく乗っているサイトを教えてください<m(__)m>
できればJAVAかCがいいです

Aベストアンサー

こういうのって人それぞれだと思いますが^^;

とりあえず、私は

http://wisdom.sakura.ne.jp/

このサイトで育ちました。

これから始めると言うのであれば開発環境が整っている言語が楽だと思うので

フリーならば

eclipseでjava

http://www.javadrive.jp/eclipse3/

hsp

http://hsp.tv/

フリーじゃないならば

visual studioをつかってVBやc言語

もしくは#1さんがおっしゃられているようにVBAあたりでしょうか

QVisual Basicプログラムのエラーについて

「Visual Basicでエンジョイプログラミング」(CQ出版社)
という本の11章VisualBasicで動かす自作装置の製作方法、
A-Dコンバータの製作と題してA-Dコンバータのプログラムが書いてあるのですが

<同じプログラムが掲載されているホームページ>http://mweb.jrscomware.com/tie/data/KyouzaiDB/bg/07/76aa45a7e4cc774b6976aad26a0709/_5051b778aae80343/b778768d0222/b778768d0222.htm

本に従ってプログラムを書いたのですが、実行しようとしたら
Public Const CLRDTR = 6
Public Const SETDTR = 5
Public Const CLRRTS = 4
Public Const SETRTS = 3
Public Const MS_CTS_ON = &H10&
Public Const MS_DSR_ON = &H20&

の部分が赤色の表示になって
「コンパイルエラー
定数、固定長文字列、配列、ユーザー定義型、
およびDeclareステートメントはオブジェクトモジュールのパブリックメンバとしては使用できません。」
と表示されたのですが、僕はまったくの初心者なので
ヘルプを見てもどのように修正すればいいのか良く分かりません。

何か知っている方がいらしゃいましたら教えてください。よろしくお願いします。

「Visual Basicでエンジョイプログラミング」(CQ出版社)
という本の11章VisualBasicで動かす自作装置の製作方法、
A-Dコンバータの製作と題してA-Dコンバータのプログラムが書いてあるのですが

<同じプログラムが掲載されているホームページ>http://mweb.jrscomware.com/tie/data/KyouzaiDB/bg/07/76aa45a7e4cc774b6976aad26a0709/_5051b778aae80343/b778768d0222/b778768d0222.htm

本に従ってプログラムを書いたのですが、実行しようとしたら
Public Const CLRDTR = 6
Public Const SETDTR = 5
...続きを読む

Aベストアンサー

No 1 の方のおっしゃるように、
(1) プロジェクトエクスプローラの
プロジェクト名を右クリック→追加→標準モジュール
としてそちらに記載するか、

(2) フォームを一つしか使わないのであれば、全部Publicを省いて記述しても大丈夫だと思います。

Qデバイスドライバのプログラミングでおすすめの入門本

Deamon Toolのような仮想マウントソフトを作りたいと考えています。
そこで、いろいろ調べているとWindows Device Kit(WDK)を使ってプログラミングをする必要があることが分かりました。

実際、この種のプログラミング本は少ないようで、おすすめの入門者が読めそうな本があれば教えてください。
ちなみに、C/C++言語の知識はあります。

Aベストアンサー

Windows Driver Kitには、サンプルコードとドキュメントが含まれています。

通常のWindowsアプリケーションを作成できる技量がある技術者であれば、サンプルコードとドキュメントが入門書の代わりになります。

通常のWindowsアプリケーションを作成できる技量がないのであれば、たとえ入門書があっても、読んでて内容が理解できないでしょうし、サンプルコードとドキュメントを見ても意味不明でしょう。

そういう訳で「入門書が要らない」ので「入門書がない」のです。

まずは、Windows Driver Kitのインストールセットを入手し、インストールしましょう。

QTiny Basicのプログラムで。。

次の5人の学生の成績の個人別の平均点と、科目別の平均点をそれぞれ求め、表示するプログラムを作成せよ。Print Using 文を使うと、きれいな表形式の出力が可能です。
学籍番号 英語 数学 情報 平均
  1   70 60 80
2 50 60 50
3 70 90 100
4 90 100 50
5 40 70 80

という問題があって。。自分なりにやってみたんですが。。

Dim a(5,5)
For i=1 to 5
For j=1 to 5
Read a(i,j)
print a(i,j);
Next j
print
Next i
Data "学生番号","英語","数学","情報","平均"
Data 1,70,60,80,70
Data 2,50,60,50,53
Data 3,70,90,100,87
Data 4,90,100,50,80
Data 5,40,70,80,63
Data "平均",64,76,72,71
End

っていうふうにつくってみたんですがうまくいかなくて。。
みなさん、助けてください><

次の5人の学生の成績の個人別の平均点と、科目別の平均点をそれぞれ求め、表示するプログラムを作成せよ。Print Using 文を使うと、きれいな表形式の出力が可能です。
学籍番号 英語 数学 情報 平均
  1   70 60 80
2 50 60 50
3 70 90 100
4 90 100 50
5 40 70 80

という問題があって。。自分なりにやってみたんですが。。

Dim a(5,5)
For i=1 to 5
For j=1 to 5
Read a(i,j)
print a(i,j);
...続きを読む

Aベストアンサー

課題?独学?・・・とりあえず、指摘とヒント
個人別の平均点、科目別の平均点をあらかじめ計算をし、
DATAに配列していますが、
題意から察すると、 平均を求める数式を作成して、且つPRINTUSING で
見栄えよい表示にする。 ことを求めている。

出力結果が、下記のようになる事をイメージする。このとき、
100点が最大なので、文字スペース3桁使用である事も考慮。

学生番号  英語  数学  情報  平均 ←(1)
   1  70  60  80  70 ←(2)
   2  50  60  50  53 ←(3)
   3  70  90 100  87 ←(4)
   4  90 100  50  80 ←(5)
   5  40  70  80  63 ←(6)
  平均  64  76  72  71 ←(7)

まず、データを読み込み、格納。(5人分、3科目で15個分)
Dim a(5,3)
For i=1 to 5 : For j=1 to 3
Read a(i,j)
次に(1)を実行
Print"学生番号  英語  数学  情報  平均"
(2)~(6)で、 学生番号の i の平均を求める式は、
For i=1 to 5
 Heikin(i)=Int((a(i,1)+a(i,2)+a(i,3))/3)  'Average関数でも良い。Int関数で整数化
  Print  i , a(i,1) , a(i,2) , a(i,3) , Heikin(i) ’ ここは、PrintUsing文 を使う。(自分で考える)
Next i
(7)で、教科平均 3科目分 求める式を作る。 と、意味あるのかわからないが、15個の平均を求める。
For j=1 to 3
 Kyouka(j)=Int((a(1,j)+a(2,j)+a(3,j)+a(4,j)+a(5,j))/5)
Next j
AllHeikin=Int((Kyouka(1)+Kyouka(2)+Kyouka(3))/3)

Print文で "平均”, Kyouka(1) , Kyouka(2) , Kyouka(3) , AllHeikin 'ここもPrintUsing文 で書く。

For~to~文:Next 間の 数式も、さらに改良の余地あり。 ここは、自分で考える。

課題?独学?・・・とりあえず、指摘とヒント
個人別の平均点、科目別の平均点をあらかじめ計算をし、
DATAに配列していますが、
題意から察すると、 平均を求める数式を作成して、且つPRINTUSING で
見栄えよい表示にする。 ことを求めている。

出力結果が、下記のようになる事をイメージする。このとき、
100点が最大なので、文字スペース3桁使用である事も考慮。

学生番号  英語  数学  情報  平均 ←(1)
   1  70  60  80  70 ←(2)
   2  50...続きを読む

Qプログラミング入門者、言語の選択?

プログラミングは本当に初めてですが、言語の選択について質問させて下さい。
ある事がキッカケでプログラミングなる物を初めてみようと思ったのですが、
javaであったり、C+であったり・・・と色々な言語がある様で戸惑っています。
それぞれの言語を勉強するに当たり、必要な環境等は書店で売られている入門書で十分理解出来る(内容では無く用意するソフト等の事)のですが、入門の入門にでも該当するのでしょうか?どの言語が何に向いている(又は初心者向けor上級者向け等)と言った基礎の基礎って意外と無いものです。
家計簿ソフトの様な物(用途は違う)が出来たら最高なのですが、何(言語)から勉強したら良いのでしょう?
難易度の高低より、出来れば投資額が少なく、汎用性を重視したいのですが・・・
Windows CE等のPDAなんかでも稼働するソフトなら更に良いのですが・・・。
ps:難易度の高低より・・・以降の希望が無謀な事なのかどうかも分からない位ですが、
   初めて見ようと思った気持ちを大切に恥ずかしながら質問させて頂きます。よろしくお願いします。

Aベストアンサー

Excelはどうでしょう?

Excel???なんて思われるかもしれませんが、マクロ機能の中にVBAというBasicが搭載されています。これはMicrosoftの開発言語のVBとほぼ同じことができるものです。
Excelの上で動かせるのでExcelの機能も簡単にアクセスできますし、家計簿のようなものを作るのであれば簡単にできると思います(完成度の高いものを望むのであれば難しいですが)。

投資額についてはExcelならたいていのメーカー製パソコンには最初からインストールされているのでゼロに近いですよね。

WindowsCEで動かしたいのであれば...Microsoftはホームページ上でeMbeded Visual Toolsというのを無料でダウンロードできるようにしています。これを使えばVisual C++もしくはVisual Basicで開発をすることができます。この2つの選択肢からでしたらVisual Basicをお勧めしますが...PDAはその必要性があまりないのでしたら初めは考えない方が無難だと思います。

QTiny Basicのプログラムです。。

Tiny Basicのプログラムで

試験の成績を入力し、30点未満なら青点、30点以上50点未満なら赤点、50点以上なら合格と表示するプログラムを作成せよ。青点、赤点、合格を判定する部分は副プログラムとして作成せよ。 という問題があったんです。
それで僕は
Cls
input A
Call Q
Sub Q
END
Select Case A=A
Case A=<29
print"青点"
Case A=>50
print"合格"
Case else
print"赤点"
End Select
End sub

というプログラムをつくったんですがどんな点数を入れても青点って結果がでてしまうんです。
どうしたらいいんでしょうか?

Aベストアンサー

>PUBLIC Aのやつはエラーになります
エラー:コマンド PUBLIC の構文エラーです。
コマンドまたは引数のミスタイプが考えられます。

俺の環境では全くそうならない。念のため、Tiny BasicのバージョンとOSを言ってもらえる?
使えないバージョンだと仮定して
一応結構苦し紛れでこう書き直してみたけど・・・・

Cls
input A
Call Q(A)
END
Sub Q(X)
Select Case X=X
Case X=<29
print"青点"
Case X=>50
print "合格"
Case else
print "赤点"
End Select
End sub


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報