正在加载内容…
洛谷P1010递归法题解
261 字
1 分钟
洛谷P1010递归法题解
本文讲解洛谷P1010幂次方递归解法:将n按2的幂拆分,用递归输出带括号的2的幂表达式,并以2的0次方和1次方为递归终点。
————————————本文旨在讨论计算机知识,欢迎指正——————————————

输入输出样例
** 输入 ** 1315 输出
2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
说明/提示
** 【数据范围】
对于 100% 的数据,1≤n≤2×104。
1≤n≤2×104
首先,我们观察这道题,笔者看到这道题一开始也是很懵,关于如何输出这种长长的一行,但是,我们经过拆解可以发现: 2的十次方,括号内是2加2的3次方,也就是8,根据括号中叠括号的方式,我们可以尝试用递归的方式来做题: 注意:2的0次方和2的一次方是特殊的,分别是最基础的奇数和偶数,其它数字都是这样合成的: 于是我们得把0和1次方作为终点; 那么,我们可以写出这样的函数:
void solve(int n){for (int i = 14; i >= 0; i--){if (pow(2, i)#includeusing namespace std;int n;void solve(int n){for (int i = 14; i >= 0; i--){if (pow(2, i) > n;solve(n);return 0;}希望能对你有所帮助!
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
洛谷P1010递归法题解
https://mjzy.tech/posts/knowledge/洛谷p1010递归法题解/ 相关文章 智能推荐
1
洛谷P1115最大字段和的前缀和做法
算法题解 本文介绍洛谷P1115最大子段和的前缀和做法:先求前缀和,遍历时用当前前缀和减此前最小前缀和更新答案,避免滑动窗口的平方复杂度,实现O(n)求解。
2
洛谷P1996约瑟夫问题数据结构链表模拟法
算法题解 本文讲解洛谷P1996约瑟夫问题的链表模拟解法:用数组构造首尾相连的循环链表,从上一出圈者前驱出发报数m次定位出列者并输出其编号,再删除该节点,直到所有人出圈。
3
不再洄游,而是深潜 & grillme之产品经验谈
领域思考 作者反思AI时代程序员角色转型:从追求技术广度的洄游,转向在机器人、自动驾驶等交叉领域深耕产品方案,并以grillme为例说明轻量skill依附生态解决痛点的产品设计思路。
4
如何高效地学习
方法论 本文讲高效学习:先搭领域结构再攻细节,以项目产出替代刷题,并用专家交叉验证抑制幻觉;方法须按领域试跑检验。
5
对高位者怯魅
方法论 本文主张对高位者祛魅:把培养翻译成经济行为,用换算、守位、证据选人三个动作审视承诺,区分建议与招募。
随机文章 随机推荐
评论区
正在加载 GitHub 评论…