No.3
- 回答日時:
こんな感じ?数字でかくしすぎると処理長いですw
<?php
//1から100までの素数を取得
$prime = array();
for ($i = 1; $i <= 100; $i++) {
if (isPrimeNumber($i)) {
array_push($prime, $i);
}
}
//取得した素数の出力
foreach ($prime as $value) {
echo $value . "";
}
function isPrimeNumber($target) {
//マイナス値を無視
$target = abs($target);
//1以下は素数でない
if ($target < 2) {
return false;
}
//対象数値の平方根までの整数で
//割り切れる数値は素数でない
$max = floor(sqrt($target));
for ($i = 2; $i <= $max; $i++) {
if ($target % $i == 0) {
return false;
}
}
return true;
}
No.2
- 回答日時:
http://okwave.jp/qa2797000.html
素数の求め方は、私も、暇だった頃に、作ったことがあります。
私は関数の再帰を利用したような。
自分で考えてみることが出来る、適度な難しさだと思いますよ。
考え方としては、エラトステネスのふるいが有名です。
素数リストに加えられた数の全ての倍数を、探索リストから削除する方法です。
ただし、この方法だと配列が膨れるという欠点があります。
コンピュータは同じ作業を素早く出来るから、目標の数を目標の数の半分の数まで割り続けるのも、手ですよ。
97は素数ですが、1から48まで割れなかったら、素数です。
49以上だと、2で割れなくなるので(つまり割れたとしても小数点になるので)、素数ではなくなるという訳です。
この方法だと、メモリーは少なくなりますが、恐ろしく時間がかかります。w
素数の求め方は、私も、暇だった頃に、作ったことがあります。
私は関数の再帰を利用したような。
自分で考えてみることが出来る、適度な難しさだと思いますよ。
考え方としては、エラトステネスのふるいが有名です。
素数リストに加えられた数の全ての倍数を、探索リストから削除する方法です。
ただし、この方法だと配列が膨れるという欠点があります。
コンピュータは同じ作業を素早く出来るから、目標の数を目標の数の半分の数まで割り続けるのも、手ですよ。
97は素数ですが、1から48まで割れなかったら、素数です。
49以上だと、2で割れなくなるので(つまり割れたとしても小数点になるので)、素数ではなくなるという訳です。
この方法だと、メモリーは少なくなりますが、恐ろしく時間がかかります。w
No.1ベストアンサー
- 回答日時:
<?php
//PHP 6.0.0 200801101530
//エラトステネスの篩はPHPでどうやるのか調べるのが面倒なので
//素直に行きます。
$array = array();
array_push($array,2);
for($i = 3;$i <= 100;$i++){
$k = true;
for($j = 2;$j < $i;$j++){
if ($i % $j == 0){
$k = false;
}
}
if ($k == true){
array_push($array,$i);
}
}
//foreach for() if()を組み合わせて・・・・って指定があるのでこっそり使用。
foreach($array as $val){
print($val . "\n");
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- PHP PHP MySql ページング 2 2022/09/20 06:38
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- 数学 中一数学の【最大公約数と最小公倍数】の問題です。 1問だけでも教えていただけると嬉しいです。 (1) 4 2022/08/01 10:19
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
C言語の配列をPush(追加)する...
-
forとかで連番の変数を一気に格...
-
多次元配列の重複削除
-
C言語 最大値と最小値を求めて...
-
配列の添え字が小数だとどうなる?
-
【PHP】配列のキー名の修正は可...
-
PHPでDBの複数行更新について
-
mb_encode_numericentityでタグ...
-
array_mapの再帰処理がうまく行...
-
PHPで10連ガチャを作成したいの...
-
特定の文からメールアドレスの...
-
PHPでCSVを出力するさいに、ル...
-
PHPでこのコード自体に意味は無...
-
PHPのカッコ[ ]の使い方について
-
$_SESSIONに二次元配列を使える...
-
別ファイルの構造体の値を読み...
-
postgresql関数をつかったレコ...
-
foreachのなかで次のキーを参照...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
読み(あ行~わ行)ごとに分け...
-
ファイルの書き込みについて教...
-
php で1から100までの素数の表...
-
C言語の配列をPush(追加)する...
-
配列の要素(value)に、変数を...
-
STLのvectorで作った配列をメン...
-
C言語 最大値と最小値を求めて...
-
行列
-
verilogで、配列の一部をタスク...
-
CArrayのソート
-
PHPのセレクトボックスの初期値...
-
Perlで重複行を削除したい
-
pythonのnumpyでの繰り返しでの...
-
System.String.Splitでエラー
-
連想配列から<th>を含むテーブ...
-
2次元配列CSVのソート
-
Pager::factory()の使い方がわ...
-
【PHP】配列のキー名の修正は可...
おすすめ情報