C++ 查找1到100之间素数的程序的问题
我写了这个程序,它可以找到并显示从1到100的素数C++ 查找1到100之间素数的程序的问题,c++,C++,我写了这个程序,它可以找到并显示从1到100的素数 int ifprime (int n) { int i=1; while (i<= n) { i++; if (n%i == 0) { return false; break; } else continue; } return true; } int prime_nu
int ifprime (int n)
{
int i=1;
while (i<= n)
{
i++;
if (n%i == 0)
{
return false;
break;
}
else continue;
}
return true;
}
int prime_numbers (void)
{
bool result;
for (int i = 2; i<=100; ++i)
{
result = ifprime(i);
if (result==true) cout<<i<<endl;
else continue;
}
}
int main()
{
prime_numbers();
return 0;
}
intifprime(intn)
{
int i=1;
而(i正如评论中指出的,每个非零数字都可以被1和它本身整除。更改这一行(第4行)
while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)
while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)
while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)
while(i如果这是您的全部代码,那么您只是缺少了一个main()
函数
虽然没有main()
函数它不应该链接
代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因
尝试将此添加到您的文件:
int main()
{
prime_numbers();
return 0;
}
如果这就是您的全部代码,那么您只是缺少了一个main()
函数
虽然没有main()
函数它不应该链接
代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因
尝试将此添加到您的文件:
int main()
{
prime_numbers();
return 0;
}
如果这就是您的全部代码,那么您只是缺少了一个main()
函数
虽然没有main()
函数它不应该链接
代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因
尝试将此添加到您的文件:
int main()
{
prime_numbers();
return 0;
}
如果这就是您的全部代码,那么您只是缺少了一个main()
函数
虽然没有main()
函数它不应该链接
代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因
尝试将此添加到您的文件:
int main()
{
prime_numbers();
return 0;
}
将循环更改为:
for(int i=2; i<n; i++){
if(n%i==0){
return false;
}
}
for(int i=2;i将循环更改为:
for(int i=2; i<n; i++){
if(n%i==0){
return false;
}
}
for(int i=2;i将循环更改为:
for(int i=2; i<n; i++){
if(n%i==0){
return false;
}
}
for(int i=2;i将循环更改为:
for(int i=2; i<n; i++){
if(n%i==0){
return false;
}
}
for(int i=2;i许多人指出了以下问题:
while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:
while (i*i <= n)
while(i*i许多人指出了以下问题:
while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:
while (i*i <= n)
while(i*i许多人指出了以下问题:
while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:
while (i*i <= n)
while(i*i许多人指出了以下问题:
while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:
while (i*i <= n)
while(我*欢迎使用StackOverflow。这就是您的全部程序吗?因为您没有包含任何main()
调用上述任何函数的函数return;break;
都是毫无意义的。return会立即终止函数。这使得break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何main()
调用上述任何函数的函数return;break;
都是毫无意义的。return会立即终止函数。这使得break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何main()
调用上述任何函数的函数return;break;
都是毫无意义的。return会立即终止函数。这使得break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何main()
调用上述任何函数的函数return;break;
是没有意义的。return会立即终止函数。这使得break
调用无效/无法访问的代码。所有东西都可以被它自己整除。您也可以从1开始。因此n%1将始终为0。@user3813353有一个postinument,preincrementing@user3813353很好,但是i
被初始化为1
,并在第一次比较之前递增(因此在该点上已经是2
)。您也从1开始。因此n%1将始终为0。@user3813353有一个后增量,preincrementing@user3813353很好,但是i
被初始化为1
,并在第一次比较之前递增(因此在该点上已经是2
)。您也从1开始。因此n%1将始终为0。@user3813353有一个后增量,preincrementing@user3813353很好,但是i
初始化为1
,并在第一次比较之前递增