10:判决素数个数
总时间限制:1000ms 内存限制:65536kB
描述
输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。
输入
两个整数X和Y(1 <= X,Y <= 105)。
输出
输出一个整数,表示X,Y之间的素数个数(包括X和Y)。
样例输入
1 100
样例输出
25
分析:
需要注意的坑:1.x不一定小于y;2.有可能x和y都是1,输出应该是0。
1 #include <stdio.h> 2 #include <math.h> 3 int isPrime(int n); 4 int main() 5 { 6 int x,y,i,count=0; 7 scanf("%d%d",&x,&y); 8 if(x>y) {i=x;x=y;y=i;} 9 if(x==1) x++; 10 for(i=x;i<=y;i++) 11 { 12 if(isPrime(i)==1) count++; 13 } 14 printf("%d\n",count); 15 return 0; 16 } 17 int isPrime(int n) 18 { 19 int x,i; 20 x=sqrt(n); 21 for(i=2;i<=x;i++) 22 { 23 if(n%i==0) return 0; 24 } 25 return 1; 26 }