Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- int ar[50000000]={0},i,j,N=100000000,p=0,x,n,beg,mid,end,d;
- float a,b,c;
- for(int i=1;(i+i+1)*(i+i+1)<N;i++)
- {
- if(!ar[i])
- {
- j=(i+i+1)*(i+i+1)/2;
- for(;j<=N/2;j+=i+i+1)
- ar[j]=1;
- }
- }
- ar[p++]=2;
- for(int k=1;k<N/2;k++)
- {
- if(!ar[k])
- ar[p++]=k+k+1;
- }
- scanf("%d",&x);
- while(x)
- {
- beg=0;end=p;mid=0;
- while(beg<=end)
- {
- mid=(beg+end)/2;
- /*printf("beg=%d mid=%d end=%d\n",beg,mid,end);*/
- if(ar[mid]==x)
- break;
- else if(ar[mid]>x)
- end=mid-1;
- else
- beg=mid+1;
- }
- if(ar[mid]<=x)
- a=float(mid+1);
- else
- a=float(mid);
- b=a-x/log(x);
- if(b<0)
- b*=-1;
- c=(b)/a*100;
- printf("%0.1f\n",c);
- scanf("%d",&x);
- }
- }
Add Comment
Please, Sign In to add comment