PHP 中使用嵌套循环的素数
Prime numbers using nested loops in PHP
我是一名初学者,目前正在学习基础课程 PHP。我正在练习嵌套循环,其中一个 material 问题包括以下内容:
The program I was attempting to execute
我尝试使用以下代码(这是我用来检查通过 html 表单输入的数字是否为质数的代码,但我对其进行了修改以适合这个问题)但它似乎不正确,因为它只打印 2 和 3
这是我写的 php 代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "<h3>The prime numbers up to 20 are:</h3>";
echo "<p>1</p>";
//Declaration of Variables
$status=true;
//Nested Loop and Conditions
for( $i = 2; $i <= 20; $i++ ){
for( $k = 2; $k < $i; $k++ ){
if( $i % $k == 0 ){
$status=false;
}
}
//Printing
if($status==true)
echo "<p>$i</p>";
}
?>
</body></html>
谁能告诉我我做错了什么?我知道这个问题看起来很简单,但请原谅我,因为我还在学习。这也是我在该平台上的第一个问题,如果格式有点不对,请原谅我。提前谢谢你:)
欢迎来到社区
我添加了 1 个计数器
如果 i 和 k 等于 0,我将计数器加 1 并退出循环
如果计数器不为零,则它不是素数
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "<h3>The prime numbers up to 20 are:</h3>";
echo "<p>1</p>";
//Declaration of Variables
$counter = 0;
//Nested Loop and Conditions
for( $i = 2; $i <= 20; $i++ ){
$counter = 0;
for( $k = 2; $k < $i; $k++ ){
if( $i % $k == 0 ){
$counter +=1;
break;
}
}
if($counter == 0){
echo "<p>".$i."</p>";
}
}
?>
试试这个,(如果你想在你的结果列表中有 1 你应该开始 $i=1 )
for ($i=2; $i <= 20 ; $i++) {
for ($k=2; $k <= 20 ; $k++) {
$divided = false;
if (($i%$k == 0 && $i != $k)) {
$divided = true;
break;
}
}
if (!$divided) {
echo $i .'<br>';
}
}
我是一名初学者,目前正在学习基础课程 PHP。我正在练习嵌套循环,其中一个 material 问题包括以下内容:
The program I was attempting to execute
我尝试使用以下代码(这是我用来检查通过 html 表单输入的数字是否为质数的代码,但我对其进行了修改以适合这个问题)但它似乎不正确,因为它只打印 2 和 3
这是我写的 php 代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "<h3>The prime numbers up to 20 are:</h3>";
echo "<p>1</p>";
//Declaration of Variables
$status=true;
//Nested Loop and Conditions
for( $i = 2; $i <= 20; $i++ ){
for( $k = 2; $k < $i; $k++ ){
if( $i % $k == 0 ){
$status=false;
}
}
//Printing
if($status==true)
echo "<p>$i</p>";
}
?>
</body></html>
谁能告诉我我做错了什么?我知道这个问题看起来很简单,但请原谅我,因为我还在学习。这也是我在该平台上的第一个问题,如果格式有点不对,请原谅我。提前谢谢你:)
欢迎来到社区
我添加了 1 个计数器
如果 i 和 k 等于 0,我将计数器加 1 并退出循环
如果计数器不为零,则它不是素数
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "<h3>The prime numbers up to 20 are:</h3>";
echo "<p>1</p>";
//Declaration of Variables
$counter = 0;
//Nested Loop and Conditions
for( $i = 2; $i <= 20; $i++ ){
$counter = 0;
for( $k = 2; $k < $i; $k++ ){
if( $i % $k == 0 ){
$counter +=1;
break;
}
}
if($counter == 0){
echo "<p>".$i."</p>";
}
}
?>
试试这个,(如果你想在你的结果列表中有 1 你应该开始 $i=1 )
for ($i=2; $i <= 20 ; $i++) {
for ($k=2; $k <= 20 ; $k++) {
$divided = false;
if (($i%$k == 0 && $i != $k)) {
$divided = true;
break;
}
}
if (!$divided) {
echo $i .'<br>';
}
}