思路:

递归,分治。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 
 5 int dfs(int x)
 6 {
 7     if (x <= 1)
 8         return 1;
 9     if (x & 1)
10         return dfs((x - 1) >> 1);
11     return dfs(x >> 1) + dfs((x - 2) >> 1);
12 }
13 
14 int main()
15 {
16     int n;
17     cin >> n;
18     cout << dfs(n) << endl;
19     return 0;
20 }

 

相关文章:

  • 2022-03-09
  • 2021-12-04
  • 2021-11-10
  • 2022-03-06
  • 2022-12-23
  • 2021-11-05
  • 2021-08-09
猜你喜欢
  • 2021-12-14
  • 2022-12-23
  • 2021-06-24
  • 2021-07-31
  • 2021-06-16
  • 2021-08-09
  • 2021-07-10
相关资源
相似解决方案