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次方是1return 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);}}}结语本文章通过利用算法中的递归来解决数的乘方的问题,将乘方问题转化为乘法问题,从而使算法更加简单易懂。我们小组对于算法创作还有很多需要学习了解的地方,接下来我们会偏向利用算法来解决一些日常生活中的问题和用算法解决数学等其他科目的问题来进行创作。实习编辑:衡辉作者:罗梦思、曾希明、陈珂桦

(0)

相关推荐