只有80分 题目->点这里
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long n,f[1000005];
int main()
{
cin>>n;
f[1]=1;
f[2]=1;
f[3]=2;
f[4]=2;
for(int i=5;i<=n;i++)
{
if(i%2==0)
{
f[i]=min(f[i-1],f[i/2])+1;
}
else f[i]=f[i-1]+1;
}
cout<<f[n];
return 0;
}