Description
求n到m之间素数的个数
Input
多组测试数据,每组先输入一个整数t,表示组数,然后每组输入2个正整数n和m,(1 <= n <= m <= 10000)
Output
每组一行,内容为一个整数,输出n到m之间素数的个数
Sample Input
1 2 3
Sample Output
2
#include<stdio.h> #include<math.h> int main() { int t; int i,j,k; int n,m; int q; int count; while(scanf("%d",&t)!=EOF) { for(i=0;i<t;i++) { count=0; scanf("%d%d",&n,&m); if(n==1) { for(j=2;j<=m;j++) { q=sqrt(j); for(k=2;k<=q;k++) { if(j%k==0) break; } if(k>q) count++; } printf("%d ",count); } if(n>1) { for(j=n;j<=m;j++) { q=sqrt(j); for(k=2;k<=q;k++) { if(j%k==0) break; } if(k>q) count++; } printf("%d ",count); } } } }