Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define MAXN 30000000
  6.  
  7. int table[MAXN+5];
  8.  
  9. int main()
  10. {
  11. memset(table,0,sizeof(table));
  12. for(int i = 1 ; i < MAXN+5 ; i++ ){
  13. int tmp = i;
  14. int bit = 1;
  15. while( tmp/=2 )
  16. bit++;
  17. for(int j = 1 ; j < MAXN+5 ; j++ ){
  18. int k = (j<<bit)+i;
  19. if( !(k < MAXN+5) )
  20. break;
  21. // printf("%d ",k );
  22. if( k%i == 0 )
  23. table[k]++;
  24. }
  25. // printf("\n");
  26. }
  27.  
  28. for(int i = 1 ; i < MAXN+5 ; i++ ){
  29. table[i] += table[i-1];
  30. // printf("%d\n", table[i]);
  31. }
  32.  
  33. int kase;
  34. scanf("%d",&kase);
  35. int C = 1;
  36. int num;
  37. while( kase-- ){
  38. scanf("%d",&num);
  39. printf("Case %d: %d\n",C++,table[num] );
  40. }
  41.  
  42.  
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement