10852 - Less Prime

#include<stdio.h>
#include<math.h>
bool arr[10999];
void sieve()
{
    long long int i,j,k,N=10999;
    k=sqrt(N);
    for(i=3;i<=k;i+=2)
    {
        if(arr[i]==0)
        {
            for(j=i*i;j<N;j+=i+i)
            {
                arr[j]=1;
            }
        }
    }
    arr[1]=1;
    for(i=4;i<N;i=i+2)
    {
        arr[i]=1;
    }
}
int main()
{
    int a,b,t,n,i;
    sieve();
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        a=n/2;
        for(i=a;;i++)
        {
            if(i*2>n&&arr[i]==0)
            {
                b=i;
                break;
            }
        }
        printf("%d\n",b);
    }
    return 0;
}

0 comments: (+add yours?)