```cpp #include <iostream> #include <vector> using ll = long long; ll minOddCount(ll n) { std::vector<ll> dp(n + 1, INT_MAX); dp[0] = 0; for (ll i = 1; i <= n; ++i) { if (i % 2 == 0) { dp[i] = dp[i / 2] + 1; } else { dp[i] = std::min(dp[(i + 1) / 2] + 1, dp[(i - 1) / 2] + 1); } } return dp[n]; } int main() { ll t; std::cin >> t; while (t--) { ll n; std::cin >> n; std::cout << minOddCount(n) << std::endl; } return 0; } ``` [2024-08-21 16:33:58 | AI写代码神器 | 229点数解答]