UVA 11384 Help is needed for Dexter(递归)
题目链接:https://vjudge.net/problem/UVA-11384
这道题要分析得透:
如果我们手模的话,会发现:如果先将大于n2的数都减去n2是最优的,
这时候从n2+1到n我们是不用考虑的,因为它们小于从1到n2。
因此转移方程便是:
f[1]=1
f[i]=f[i/2]+1
AC代码:
1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int n; 7 int f(int x){ 8 if(x==1) return 1; 9 return f(x/2)+1; 10 } 11 12 int main(){ 13 while(scanf("%d",&n)!=EOF){ 14 printf("%d\n",f(n)); 15 } 16 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步