0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者】PHPで素数を出力する

Posted at

素数を出力する

今回は、私が今持っている知識だけで、素数を出力できるのか考えた。
範囲を決めないと無限に出てきてしまうので、ひとまず1より大きくて10より小さい素数を出力できるか考えた。
結果は以下の通り。

// 2よりも大きくて10よりも小さい数字それぞれを、同じ範囲のそれぞれの数字で割り切れる数字を抽出
    for ($i = 2; $i <= 10; $i++) {
        for ($j = 1; $j <= 10; $j++) {
            if ($i % $j === 0) {
                $nums[$i][] = $j;
            }
        }
    }
// 抽出した数字の中で、1と自身の数字でのみ割り切れる数字を抽出(割り切れた数字の数が2のもの)
    for ($i = 2; $i <= 10; $i++) {
        $count = count($nums[$i]);
        if ($count === 2) {
            $n_num[] = $i;
        }
    }
// 個数を数えて出力
    $n_count = count($n_num);
    for ($i = 0, $i < $n_count, $i++) {
        echo($n_num[$i])." ";
    }
// 以下出力結果です。
2 3 5 7 

結論としては、無事、1より大きくて10より小さい素数を出力することができました。これが、100より小さい場合でも対応はできていたので、問題ないと思う。
目的を持ってプログラムを書いてみると、自分にできることとできないことが明確になるので、もっと色々知識を身につけたいを思えた。

恐らく、今日私がやってみた方法は、あくまで私が今持っている知識で記述することが可能なのか、というテーマがあったので、本来ならば圧倒的に効率的な記述があるのだと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?