用C语言写一个调用函数,求出一个范围内的素数,范围自己输入

 我来答
fallx
2018-04-10 · TA获得超过5485个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:704万
展开全部
#include<stdio.h>
#include<math.h>
int  prime(int a,int b)//求出整数a-b范围内的所有素数
{
int i=2,j,n;
for(j=a;j<=b;j++)
{
n=sqrt(j)+1; //j的平方数+1
i=2;
while(i<n)  
   {
   if(j%i==0) //整除,退出循环
break;
i++;
}
  if(i==n) //非整除退出循环,i肯定等于n
printf("%d ",j);  //j是素数,输出
}
}
int main() 

int a,b; 
scanf("%d%d",&a,&b); //输入整数范围a-b
prime(a,b);
return 0;
}

追问
请问这个break语句跳出循环后是到n=sqrt还是到if(i==n)
匿名用户
2018-04-10
展开全部
#include<iostream>
using namespace std;
int f(int a,int b)
{
for(int i=a;i<b;i++)//对于a-b间的每一个数 
{
for(int j=2;j<=i/2;j++)    //对于1-j/2的每一个数,判断其是否可被i整除。如可以则不是素数,跳出
{
if(i%j!=0)    //n除j有余数,说明n不是j的因子 
{
if(i/2==j)     //当除到这个数的一半还没找到他的因数,可判断其为素数 
{
cout<<i<<"\t";    //输出该 素数 
break;    //跳出循环不再对该数进行判断 
}
continue;    //下一个 
}
else 
{
break;//能除净,不是素数,下一个
}

}
}
int main()
{
int a ,b;
cout<<"输入两个数:";
cin>>a>>b;
cout<<"在该范围内的素数有:\n"; 
f(a,b);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式