欢迎来到天天文库
浏览记录
ID:40259797
大小:53.50 KB
页数:3页
时间:2019-07-29
《a的n次幂问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、a的n次方问题一、运行结果二、源程序importjava.util.Scanner;/***问题描述:*给定正整数a和n,用二分法求解a的n次方(递归)**解题思路:*
2、(a^(n/2))^2ifn%2=0(偶数)*a^n=
3、*
4、(a^((n-1)/2))^2*aifn%2!=0(奇数)**/publicclassIndexOfThePower{/***主函数*@paramargs*/publicstaticvoidmain(String[]args){Scannerscanner=newScanner(S
5、ystem.in);System.out.print("请输入a的值:");intvalueOfa=scanner.nextInt();System.out.print("请输入n的值:");intvalueOfn=scanner.nextInt();System.out.println("a="+valueOfa+"t"+"n="+valueOfn);System.out.println(valueOfa+"的"+valueOfn+"次方为(二分递归):"+function(valueOfa,value
6、Ofn));System.out.println(valueOfa+"的"+valueOfn+"次方为(直接递归):"+function2(valueOfa,valueOfn));}/***二分法递归方法*@paramvalueOfa*@paramvalueOfn*@return*/privatestaticintfunction(intvalueOfa,intvalueOfn){if(valueOfn==1){returnvalueOfa;}else{if(valueOfn%2==0){return(in
7、t)Math.pow(function(valueOfa,valueOfn/2),2);}else{return(int)Math.pow(function(valueOfa,(valueOfn-1)/2),2)*valueOfa;}}}/***直接递归方法*@paramvalueOfa*@paramvalueOfn*@return*/privatestaticintfunction2(intvalueOfa,intvalueOfn){if(valueOfn==1){returnvalueOfa;}else
8、{returnvalueOfa*function2(valueOfa,valueOfn-1);}}}
此文档下载收益归作者所有