http://cst2.jlnu.edu.cn/oj/problem.php?id=2006怎么做
求两个数m,n之间的素数个数(0<=m,n<=10000000)
第一行 输入一个整数T(T<100000),代表有T组测试数据。
以下每一行输入两个整数m,n。
参考我OJ过的(要求有点小区别)C++程序
#include <iostream>
#include <cmath>
using namespace std;
int isPrime(int n)
{
int k=(int)sqrt((double)n);
if (n<2)
return 0;
for(int i=2;i<=k;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main(void)
{
int m,n,ct=0,T;
cin >> T;
while(T--)
{
cin >> m>> n;
for(int i=m;i<=n;i++)
{
if (isPrime(i))
ct++;
}
cout << ct << endl;
}
return 0;
}
热门标签: