个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。?

个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。... 个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。 展开
 我来答
jeepfly2001
2019-11-14 · TA获得超过1492个赞
知道小有建树答主
回答量:1609
采纳率:71%
帮助的人:639万
展开全部
代码如下
#include "math.h"
#include <stdio.h>
main()
{
int a,k,m,n,i,j=0;
loop:
scanf("%d,%d",&m,&n);
if (m<1||n>500) goto loop; //如果m<1或者n>500,返回重新输入数值

for ( a=m;a<=n;a=a+1)
{ if (j%6==0) printf("\n");
k=sqrt(a);
for (i=2;i<=k;i++)
if (a%i==0)break;
if (i>=k+1) {printf("d ",a);j=j+1;}
}
return 0;
}

其中j的作用就是累计输出素数的个数,控制每行输出6个数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l7722526
2019-11-14 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3671万
展开全部
你的prime函数漏洞太多,改如下,自己看,可续问。
int prime(int n){
int i;
if(n==1) return 0;
for(i=2;i<=n/2;i++)
if(n%i==0) return 0;
return 1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式