C++求质数,谁能把正确程序写出来(要简单的)。。。 附:帮我改一下这个程序哪错了?

2025-05-15 01:41:35
推荐回答(2个)
回答1:

#include "iostream"
using namespace std;
bool isPrimeNum(int x)//该函数用来判断一个数是否是素数
{
int n=0;
for(int i=1;i<=x;i++)
{
if(x%i==0)
{
n++;
}
}
if(n==2)
{
return 1;
}
return 0;
}

int main()
{
int m,n,y;
cout<<"请输入数字m"< cin>>m;
cout<<"请输入数字n"< cin>>n;
if(m {
y=m;
m=n;
n=y;
}
for(;n<=m;n++)
{
if(isPrimeNum(n))
{
cout< }
}

int p;//这两句是为了防止程序一闪而过
cin>>p;
return 0;
}

###################################################

改成C版,头文件没加:
bool isPrimeNum(int x)//该函数用来判断一个数是否是素数
{
int n=0;
for(int i=1;i<=x;i++)
{
if(x%i==0)
{
n++;
}
}
if(n==2)
{
return 1;
}
return 0;
}

int main()
{
int m,n,y;
printf("请输入数字m\n");
scanf("%d",&m);
printf("请输入数字n\n");
scanf("%d",&n);
if(m {
y=m;
m=n;
n=y;
}
for(;n<=m;n++)
{
if(isPrimeNum(n))
{
printf("%d ",n);
}
}
int p;
scanf("%d",p);
return 0;
}

回答2:

#include
using namespace std;
int main()
{ int i,m,j;
for(i=3;i<101;i=i+2)//偶数必不是素数,可不比判断,所以令i=i+2
{
m=0;
for(j=2;j if (i%j==0) m=1;
if(m==0 )cout<}
system("pause");
return 0;
}