【发布时间】:2016-05-09 15:53:18
【问题描述】:
我需要帮助以尽可能提高此测试的效率。用户输入一个数字,我测试直到用户数字的所有数字。
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>";
}
}
【问题讨论】:
-
你的每一行都断了?见meta.stackexchange.com/questions/22186/…。
-
欢迎来到 Stack Overflow!花点时间阅读帮助中心的editing help。 Stack Overflow 上的格式设置与其他站点不同。您的帖子看起来越好,其他人就越容易阅读和理解它。
-
Notepad++ 替换为救援。他必须花费大量时间才能做到这一点