Start: Jun, 28, 2019 08:42:00
2019杭州师范大学第一届程序设计竞赛新生赛
End: Jun, 28, 2019 11:42:00
Time elapsed:
Time remaining:

Problem_ID: F
Result: Accepted
Time: 51ms
Memory: 1716kB
In contest: 1276

#include <bits/stdc++.h>
using namespace std;
bool arr[1100] ;
int brr[1100] ;
void prime()
{
	memset(arr,true,sizeof arr) ;
	arr[0] = false ;
	arr[1] = false ;
	for(int i = 2 ; i < 1100 ; ++ i)
	{
		if(arr[i] == true)
		{
			for(int j = i * 2 ; j < 1100 ; j += i)
				arr[j] = false ;
		}
	}
}
int main(int argc, char const *argv[])
{
	prime() ;
	memset(brr,0,sizeof brr) ;
//	for(int i = 0 ; i < 100 ; ++ i)
//	{
//		printf("%d %d\n",i,arr[i]) ;
//	}
	for(int i = 1 ; i < 1100 ; i ++)
	{
		brr[i] = brr[i - 1] + arr[i] ;
//		printf("%d %d\n",i,brr[i]) ;
	}
	int t , n ;
	scanf("%d",&t) ;
	while(t --)
	{
		scanf("%d",&n) ;
		printf("%d\n",brr[n]) ;
	}
	return 0 ;
}