Advertisement
Guest User

Untitled

a guest
May 26th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.48 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int find_power(int n)
  4. {
  5.     int k = 0;
  6.     while((1 << k) <= n)
  7.         k++;
  8.     return k;
  9. }
  10.  
  11. void greedy(int n)
  12. {
  13.     printf("%d = ", n);
  14.     int k = find_power(n);
  15.     while (k >= 0 && n >= 0)
  16.     {
  17.         while (n >= (1 << k))
  18.         {
  19.             n = n - (1 << k);
  20.             printf("%d + ", 1 << k);
  21.         }
  22.         k--;
  23.     }
  24.     printf("0");
  25. }
  26.  
  27. int main()
  28. {
  29.     int n;
  30.     scanf("%d", &n);
  31.     greedy(n);
  32.     return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement