求素数的方法 - 埃拉托色尼的筛选法(Sieve of Eratosthenes)
跳至
[1]
[全屏预览]
<html> <head> <meta charset="gb2312"> <title>求1000以内的素数</title> <style> </style> </head> <body> <?php define (N,1000); $num = "一千以内的素数 prime numbers less than ".N." : <br>"; // 根据 月生无界 提出的求素数的方法 for($i=2;$i<N;$i++){ //特殊值处理 if($i == 2){ $num .= $i.","; //System.out.println("素数:"+i); }else{//素数判断条件,从2开始除,取余,如果余值为0,表示不是素数,跳出这个数的循环判断, for($j=2;$j<$i;$j++){ if($i%$j == 0){ break; } //判断是否是素数,能除到比该值小一,且余数不为0,肯定是素数 if($i%$j != 0 && $j == $i-1){ $num .= $i.","; } } } } echo $num."<br>"; //根据 tcxu 出示的 埃拉托色尼筛选法 for($i=0;$i<N;$i++) $b[$i]=true; //将数组的元素全部赋以true for ( $i = 2; $i < N; $i++ ) // 从下标2开始递增循环 if ( $b[ $i ] ==true){// 每次找到值为true的元素 for ($j = $i + 1; $j <N; $j++ ){ /* 就用其下标作为除数,去除往后余下的元素的下标*/ if ( $j % $i == 0 ) //一旦能除尽 $b[ $j ] = false;// 将对应的元素值改为false } } for ( $i = 2; $i < N; $i++ )//从2起,打印50以内的质数 if ( $b[ $i ] ) //若元素值为true echo $i.","; // 打印出该元素的下标 ?> </body> </html>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7321
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1349
46


Laravel チュートリアル
1261
25


PHP チュートリアル
1209
29

