快速直达专线
原文
题解没给代码,所以这里给一下
#include<bits/stdc++.h>
using namespace std;
int f[1000000+7];
int main(){
int n;
cin>>n;
//int c=a+b;
f[1]=0;
for(int i=2;i<=n+5;i++){
if(i%2==0)f[i]=min(f[i-1]+1,f[i/2]+1);//是偶数都有可能
else f[i]=f[i-1]+1;//奇数不可能通过*2得来,只能+1
}
cout<<f[n];
return 0;
}
对了 送个神贴传送门哈 ->传送门