题目描述
判断[ k1,k2]之间有多少个素数(包含k1和k2),并输出这些素数。 ( 1 <= k1 < k2 <= 1000 )
输入要求
输入两个正整数k1和k2。
输出要求
输出两行信息,第一行是[k1,k2]之间素数个数,第二行输出所有素数。素数之间用空格分开。
输入样例
1 10
输出样例
4 2 3 5 7
#include<stdio.h>
int main(){
int k1,k2,ch[1000],i,j,k=0,a=0,b=0,c;
scanf("%d%d",&k1,&k2);
for(i=k1;i<=k2;i++){
a=0;
for(j=1;j<i;j++){
if(i%j==0){
a++; //能被除的次数
}
}if(a==1){ 如果只能被除一次,就是素数
k++;
ch[b]=i;
b++;
}
}
printf("%d\n",k);
for(c=0;c<b-1;c++){
printf("%d ",ch[c]);
}
printf("%d\n",ch[b-1]);
return 0;
}