#include <bits/stdc++.h> using namespace std; int dp[1919810]; int main(){ int n; cin >> n; for (int i=1; i<=n; i++){ if (i%2==0) dp[i]=min(dp[i-1]+1,dp[i/2]+1); else dp[i]=dp[i-1]+1; } cout << dp[n]; }
一个样例也没过!