-2
このテストを可能な限り効率的にするための支援が必要です。ユーザーは番号を入力し、ユーザー番号まですべての番号をテストします。効率的な素数テストPHP
function primetest($pt) {
$prime_numbers = file("prime.txt", FILE_IGNORE_NEW_LINES);
$max = sizeof($prime_numbers);
for ($i = 0; $i < $max; $i++) {
if ($prime_numbers[$i] < $pt) {
if ($pt % $prime_numbers[$i] == 0) {
$i = $max;
return false;
}
} else {
$i = $max;
}
}
return true;
}
$userinput_number = $_POST['f_userinput_number'];
if (isset($userinput_number) == false) {
echo '<form action="20160505.php" method=POST>
<strong>Number range to test for prime.</strong>
'.last_num().'-
<input type="text" name="f_userinput_number">
<input type="submit" value="Submit">
</form>';
} else {
#WORKS
$last_num_test = last_num();
if (($userinput_number > 1) && ($userinput_number == (intval($userinput_number))) && ($last_num_test <= $userinput_number)) {
for ($i = last_num(); $i < $userinput_number; $i= $i + 2) {
$test = primetest($i);
if ($test == false) {
echo "<b><font color=\"red\">X</font> $i is not prime</b>";
} else {
#To append number if not already in array and inform user if number is prime.
save($i);
}
}
} else {
echo "Make sure the number is a <b>natural number</b>, and is greater than or equal to <b> ".last_num()."</b>";
}
}
httpsを...探しているまさにです:// EN。 wikipedia.org/wiki/Sieve_of_Eratosthenes – andrewsi
あなたはすべての行を壊しましたか? http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocksを参照してください。 – chris85
ようこそスタックオーバーフロー!ヘルプセンターの[編集ヘルプ](http://stackoverflow.com/editing-help)を読んでください。スタックオーバーフローでの書式設定は、他のサイトとは異なります。あなたの投稿がよく見えるほど、他の人がそれを読んで理解しやすくなります。 – Rizier123