质数数量的求解
Posted 勇敢*牛牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了质数数量的求解相关的知识,希望对你有一定的参考价值。
质数(prime number)又称素数,有无限个,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
例如小于10的质数有2,3,5,7。
输入描述:
第一行输入一个整数T,表示询问的个数
接下来T行每行输入一个整数n.
1<=T<=1e8,1<=n<=1000000
输出描述:
对于每个询问n输出小于等于n的的质数的个数。
示例1
输入
2
10
1000000
输出
4
78498
#include<stdio.h>
#define N 1000001
int a[N],i,j,sum=0;
void zs()
for(i=2;i<N;i++)
for(j=2;j*j<=i;j++)
if(i%j==0) break;
if(j*j>i) ++sum;
a[i]=sum;
int main()
zs();
int T,n;
scanf("%d",&T);
while(T--)
scanf("%d",&n);
printf("%d\\n",a[n]);
return 0;
以上是关于质数数量的求解的主要内容,如果未能解决你的问题,请参考以下文章