打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python|利用递归轻松解决数的乘方问题
问题描述
求一个数的乘方,数学公式如下是成立的
示例:
我们可以将乘方的运算转换为乘法的运算
输入:
,定义
,b=y/2
输出:
解决方案
求x的y次方的值,当y是偶数时,最后能转换成两个数相乘,当y是奇数时,最后我们必须要在返回值后面乘以一个x。
如果求
,我们可以先假定
,于是
,那么就是
;假定
,那么
,于是现在就转换成了b*b。
代码清单 1 DFS求解1到100求和问题Python代码
package recursion;
public class RecursionTest8 {
public static void  main(String[] args) {
System.out.println(pow(2,5));
}
//用递归的算法实现求乘方,y不能是负数
public static int pow(int x,  int y){
if(y == 0){//任何数的0次方是1
return 1;
}
if(y == 1){//边界条件,当y等于1时,不再进行递归
return x;
}
if(y%2==1){
//奇数
return pow(x*x,y/2)*x;
}else {
return pow(x*x,y/2);
}
}
}
结语
本文章通过利用算法中的递归来解决数的乘方的问题,将乘方问题转化为乘法问题,从而使算法更加简单易懂。
我们小组对于算法创作还有很多需要学习了解的地方,接下来我们会偏向利用算法来解决一些日常生活中的问题和用算法解决数学等其他科目的问题来进行创作。
实习编辑:衡辉
作者:罗梦思、曾希明、陈珂桦
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【数据结构与算法(Java)】八皇后问题(回溯算法-递归)
递归算法
楼梯问题之递归
面试10大算法汇总+常见题目解答
动态规划思想轻松理解(java)
程序员面试的Top10大算法概念 | 程序员的资料库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服