用C语言写一个调用函数,求出一个范围内的素数,范围自己输入
2个回答
展开全部
#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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询