Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. void Inverseaza(int v[], int lgv)
  6. {
  7. int i, aux;
  8. for(i=0;i<lgv/2;i++)
  9. {
  10. aux = v[i];
  11. v[i] = v[lgv-i-1];
  12. v[lgv-i-1] = aux;
  13. }
  14. }
  15.  
  16. void TransformaInBaza2(unsigned long long x, int *lgv,int v[])
  17. {
  18. int ind, rest;
  19. ind=0;
  20. while(x!=0)
  21. {
  22. rest = x%2;
  23. v[ind] = rest;
  24. ind++;
  25. x = x/2;
  26. }
  27.  
  28. (*lgv) = ind;
  29. Inverseaza(v, ind);
  30.  
  31. }
  32.  
  33. bool VerificaPutere2(int n)
  34. {
  35. int p=1;
  36. while(p<n)
  37. {
  38. p=p*2;
  39. }
  40. if(p!=n)
  41. return 0;
  42. else return 1;
  43. }
  44. int simpatic(unsigned long long x)
  45. {
  46. int v[100], lgv;
  47.  
  48. TransformaInBaza2(x,&lgv, v);
  49.  
  50. int suma=0, i;
  51. for(i=0;i<lgv;i++)
  52. suma=suma+v[i];
  53. return VerificaPutere2(suma);
  54. }
  55.  
  56. int main()
  57. {
  58. unsigned long long x;
  59. scanf("%llu", &x);
  60. printf("%d", simpatic(x));
  61.  
  62.  
  63.  
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement