永发信息网

在一行输出n和m之间(包含n和m)的所有素数,中间用空格隔开,最后一个数后面没有空格。

答案:2  悬赏:50  手机版
解决时间 2021-03-29 05:03
  • 提问者网友:你独家记忆
  • 2021-03-28 21:56
在一行输出n和m之间(包含n和m)的所有素数,中间用空格隔开,最后一个数后面没有空格。
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-03-28 22:18
#include "stdio.h"
int prime(int n){
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argv,char *argc[]){
int m,n,t;
printf("Input n, m(int 1 ");
if(scanf("%d%d",&n,&m)!=2 || n<2 || n>m || m>1000){
printf("Input error, exit...
");
return 0;
}
for(t=0;n<=m;n&1 ? n+=2 : n++)
if(prime(n))
printf(t++ ? " %d" : "%d",n);
printf("
");
return 0;
}运行样例:

全部回答
  • 1楼网友:思契十里
  • 2021-03-28 23:14
定义一个布尔量flag,初始化为false
输出时判断flag,如果flag为false,将flag赋值为true,只输出素数;如果flag为true,输出空格+素数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯