1092: 素数表(函数专题)
题目描述
输入两个正整数m和n,输出m和n之间的所有素数。
要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。
int prime(int n)
{
//判断n是否为素数, 若n为素数,本函数返回1,否则返回0
}
对于C/C++代码的提交,本题要求必须通过定义prime函数和main函数实现,否则,提交编译错误,要提交完整的程序。
输入
输入两个正整数m和n,m<=n,且都在int范围内。
输出
输出占一行。输出m和n之间的所有素数,每个数后有一个空格。测试数据保证m到n之间一定有素数。
样例输入 Copy
2 6
样例输出 Copy
2 3 5
代码
#include<stdio.h>
#include<math.h>
int prime(int n); //判断一个数是否为素数
int main()
{
int i,m,n;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
if(prime(i)) //若i是素数,则输出
printf("%d ",i);
}
printf("\n");
return 0;
}
int prime(int n) //判断一个数是否为素数
{
int i,flag=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0) flag=0;
}
if(flag==0||n==1) return 0;
else return 1;
}
说明
若一个数n是素数,则必有一个因数属于2到根号n之间