输出[m,n]间的所有素数,并且每5个换行,如果区间内不存在素数,输出0

2024-11-19 08:30:43
推荐回答(2个)
回答1:

#include

#include


using namespace std;


void prime(int a,int b)    //输出素数的函数

{

int i;

int n = int(sqrt(a));

for(i = 2;i <= n;i++)    //只要2~根号a的数都不被a整除,就是素数

{

if(a%i == 0) break; 

}

if(i > n) cout<

a++;

if(a > b) exit(0);    //到达b后退出函数

prime(a,b);   戚纤碰 //递归计算

}


int main(int argc,char *argv[])

{

int m ,n;

cout<<"请竖轮输入m的值:";

cin>>m;

cout<<"请输入n的值:";

cin>>n; 

cout<

prime(m,n);

cout<

return 0;

}


附上一张运行结果图:

回答2:

#include main() { int m,n,i,j,flag,t=0;//t统计素数个数 printf("请输入范拍神围(m,n):"); scanf("%d,%d",&m,&n); for(i=m;i<=n;i++) { flag=0;//假设为素数 for(j=2;j