- ベストアンサー
javaスクリプトで素数を計算して結果を表示するプログラムの作成方法
- javaスクリプトを使用して、テキストボックスから読み込んで素数を計算し、結果を表示するプログラムを作成する方法について教えてください。
- 与えられた課題では、nibaiという関数を利用することでプログラムを作成することができますが、いくつかのエラーが発生しています。
- 素数計算と結果の表示についての具体的な手順やデバッグ方法についても教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<script type="text/javascript"> <!-- var prime = new Array(1000); //1000個までの素数を格納できる function calc(n){ var count = 0; var i; prime[count++]=2; for(i=3;count<1000;i+=2){ if(isPrime(i)){ prime[count++]=i; } } for(i=0;prime[i]<=n;i++){ if(i<1000) PRIME.result.value += prime[i] +" "; else alert("1000個までの素数しか計算しません"); } } function isPrime(n){ //下請け関数、汎用的な判定関数ではない var i; for(i=0;prime[i]*prime[i]<=n;i++) if(n % prime[i]==0) return(false); return(true); } //--> </script> </head> <body> 入力した数値以下の素数を求める <form name="PRIME"> 数値<input name="inputN" type="text" value="" size="5"><br> 結果<input name="result" type="text" value="" size="50"><br> <button onclick="calc(PRIME.inputN.value)">計算</button> </form> 1つのやりかたです、ご参考までに
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
入力が素数であるかどうかを調べるということですか? それとも、入力以下の素数を列挙するということですか? それとも、入力番目の素数を求めるということですか? 結果は、テキストボックスに表示するのですか? nibai関数は、ほとんど意味がないような気がしますが、 テキストボックスから値を持ってきて、それをどこかに表示すると考えて良いのでしょうか? (つまりその機能が雛形として使える?) 少なくとも、ここでの質問文で示された部分はそうなっていません。
補足
返信ありがとうございます。 言葉足らずで申し訳ありません。 入力以下の素数を列挙する(はず)です。 正直詳しい説明がなかったので私はそう解釈しています。 結果はテキストボックスに表示します。 まだ説明が適当でなければ突っ込みお願いします。
お礼
ありがとうございます。 お手数をおかけして本当に申し訳ありません。 足りない頭をフル回転させて参考にさせていただきます 本当にありがとうございました。