najim

ICIC-H-GCD XOR

Dec 7th, 2013
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include<stdio.h>
  2. typedef long long LLI;
  3. #define Mx 30000001
  4. #define MxS 5478
  5. int P[Mx+2];
  6. int l,r;
  7. int main()
  8. {
  9.     int i,j,k;
  10.     //int lll=0;
  11.     for(i=2; i<=MxS; i++)
  12.     {
  13.         for(j=i,k=1; j<=Mx; j+=i,k++)
  14.         {
  15.             l=(k-1)*i;
  16.             r=(i-1)*k;
  17.             if(l>0 && (j^l)==i)
  18.             {
  19.                 P[j]++;
  20.             }
  21.             if(r>0 && (j^r)==k && (k!=i) && k>MxS)
  22.             {
  23.                 P[j]++;
  24.  
  25.             }
  26.             //lll++;
  27.         }
  28.  
  29.     }
  30.     i=1;
  31.     //printf("%d\n",lll);
  32.     for(j=1; j<=Mx; j++)
  33.     {
  34. //        lll++;
  35.         k=j;
  36.         l=(k-1)*i;
  37.         r=(i-1)*k;
  38.         if(l>0 && (j^l)==i)
  39.         {
  40.             P[j]++;
  41.         }
  42.         if(r>0 && (j^r)==k && (k!=i) && k>MxS)
  43.         {
  44.             P[j]++;
  45.         }
  46.         P[j]=P[j-1]+P[j];
  47.     }
  48. //    printf("%d\n",lll);
  49.     int ks=0,kase,N;
  50.     scanf("%d",&kase);
  51.     while(kase--)
  52.     {
  53.         scanf("%d",&N);
  54.         printf("Case %d: %d\n",++ks,P[N]);
  55.     }
  56. }
  57. /*
  58. 245571329
  59. 275571330
  60. 750000025
  61. */
Advertisement
Add Comment
Please, Sign In to add comment