ホームページ > バックエンド開発 > PHPチュートリアル > 関数を使って素数を求めることへの疑問

関数を使って素数を求めることへの疑問

WBOY
リリース: 2016-06-23 13:59:21
オリジナル
837 人が閲覧しました

// 获取100?200之间的素数function main(){	for($i=100; $i<201; $i++){		$b = false;		for($j=2; $j<$i-1; $j++){			$k = $i % $j;			if($k == 0){				$b = true;				//break;			}		}		if(!$b){			echo $i ."<br>";		}	}}// 我的疑虑在break那个地方,测试最后的结果,有没有break,都是一样的结果。// 但如果要用程序来解释数学定义,就得加上break对吧?
ログイン後にコピー


ディスカッション(解決策)への返信

印刷条件は $i 素数なので、ブレークの有無は印刷結果に影響しません
ただし、業務効率化のため、すべてのデータが揃っている必要がありますブレークなしで比較 ($i-1) で終了し、ブレークがある場合は最初の合成数が見つかった時点で終了し、その後の無効な作業を行う必要はありません

印刷条件が $i 素数なので、break は印刷結果に影響しません
ただし、動作効率の観点から、break がない場合は、終了する前にすべてのデータ ($i-1) を比較する必要があります。ブレークがある場合は、最初の合成数が見つかった時点で終了し、その後の無駄な作業を行う必要はありません
+1

20,000 以上の範囲内の素数を見つけようとすると、次の違いがわかります。休憩がある場合もない場合も、テストしてみるとよいでしょう

...
xuzuning のおかげで、いくつかの基本的な知識が定着しました。

リーリー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート