Advertisement
nikunjsoni

600

Jul 25th, 2021
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int findIntegers(int num) {
  4.         int f[32];
  5.         f[0] = 1;
  6.         f[1] = 2;
  7.         for(int i = 2; i < 32; ++i)
  8.             f[i] = f[i-1]+f[i-2];
  9.         int ans = 0, k = 30, pre_bit = 0;
  10.         while(k >= 0) {
  11.             if(num & (1<<k)) {
  12.                 ans += f[k];
  13.                 if(pre_bit) return ans;
  14.                 pre_bit = 1;
  15.             }
  16.             else
  17.                 pre_bit = 0;
  18.             --k;
  19.         }
  20.         return ans+1;
  21.     }
  22. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement