当前位置:   article > 正文

【ZZULIOJ】1092: 素数表(函数专题)_oj1092素数表

oj1092素数表

ZZULIOJ题解

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之间一定有素数。

样例输入

2 6
  • 1

样例输出

2 3 5 
  • 1

开始函数专题的训练了,其实一般来说是以前题目的函数化考察,这里提交会出现很多编译错误。因为题目可能要求只提交函数部分哈哈哈。所以注意读题就好啦。加油。

代码

#include<stdio.h>
#include<math.h>
int prime(int x) //按照题目要求定义prime函数
{ 
   int i,k;//定义循环变量i,以及根号x的结果k
   if(x==1) return 0;//x为1,不是素数,返回0
   k=(int)sqrt(x);//强制转换为int类型
   for(i=2;i<=k;i++)
   {
   if(x%i==0) return 0;//如果x对数字取余结果为0,那么数字不是素数,返回0
   }
    return 1;//如果是素数,那么返回1
}
int main()
{
	int j,x,y;//定义循环变量j,以及未知数x,y
	scanf("%d %d",&x,&y);//键盘输入x,y
	for(j=x;j<=y;j++)//从x遍历到y
	{
	if(prime(j)) printf("%d ",j);//如果素数函数返回值是1,输出这个素数
	}
	return 0;//程序正常结束
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/143735
推荐阅读
相关标签
  

闽ICP备14008679号