概述
题目描述
令Pi表示第i(i从1开始计数)个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。
输入描述:
输入在一行中给出M和N,其间以空格分隔。
输出描述:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入例子:
5 27
输出例子:
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103
题解:
①判断素数(注意:1不是素数)
②vs测试时printf改printf_s
#include<stdio.h>
#include<math.h>
int main(){
int m=0,n=0;
int num=2;
scanf("%d %d",&m,&n);
if(m == 1){
printf("2");
if(n!=1)
printf(" ");
}
if(m == 2){
printf("3");
if(n!=2)
printf(" ");
}
for(int i=5;;i++){
float k = sqrt(i);
int j=2;
for(;j<=k;j++){
if(i%j==0)
break;
}
if(j>k){
num++;
if(num>=m && num<n){
printf("%d",i);
if((num - m +1)%10==0)
printf("n");
else printf(" ");
}
if(num == n)
printf("%d",i);
}
if(num >= n)
break;
}
return 0;
}
最后
以上就是悦耳彩虹为你收集整理的PAT乙级(C语言)1003数素数的全部内容,希望文章能够帮你解决PAT乙级(C语言)1003数素数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复