Result: Accepted
Time: 51ms
Memory: 1716kB
#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 ;
}