用java二分法计算a的n次幂_用二分法计算a的n次幂算法分析
实验目的:
1、复习java编程;
2、掌握二分法的基本原理;
3、掌握使用java程序进行二分法计算a的n次幂。
实验步骤:
1、由用户输入a及n(均为整数);
2、利用二分法完成计算,并将中间结果打印出来。
package erfencimi;
import java.util.Scanner;
public class Power {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//输入a和n数值
System.out.print("请输入 a 的值:");
int a = scanner.nextInt();
System.out.print("请输入 n 的值:");
int n = scanner.nextInt();
int c=0;
System.out.println("a = " + a + "\t" + "n = " + n);
//打印输出二分过程
for(int b=1;b<=n;n=n/2)
{
System.out.println(a + "的" + n + "次方为(第"+c+"次二分):" + function(a, n));
c++;
}
c=c-1;
//二分次数总计
System.out.println("总共进行了" + c + "次二分!");
}
//求二分次幂函数
private static long function(int a, int n) {
if(n == 1) { //指数是1时直接返回数字a
return a;
} else {
if(n % 2 == 0) {//如果是偶数次幂直接将指数进行二分
return (int)Math.pow(function(a, n/2), 2);
} else {//如果是奇数次幂将指数减一再进行二分
return (int)Math.pow(function(a, (n-1)/2), 2) * a;
}
}
}
}
运行结果如下:
用java二分法计算a的n次幂_用二分法计算a的n次幂算法分析相关推荐
- html点击按钮计算两个输入框的和_小程序计算报价功能介绍
一.使用场景 用户可在管理后台设置计算值和运算公式,访客输入对应计算值,即可实现自动计算出结果,并提供相关的咨询入口,适用于装修.建材.房贷.车险等行业的报价行为. 二.功能版本限制 小程序至尊版可开 ...
- mysql计算多少天后的日期_数据库 - mysql 计算某个时间,多少天后,多少个月后时间戳...
数据库设计(一): 数据库设计步骤: 需求分析--------> 逻辑设计 ------------> 物理设计----------->维护优化. [1]需求分析:分析需要存储的 ...
- python计算圆的面积的流程图_使用python计算圆的面积
# -*- coding: utf-8 -*-import mathwhile True: print '''1.圆的面积 ''' xuhao=raw_input('请输入您要查询的序号:') if ...
- Java 递归解决 quot;仅仅能两数相乘的计算器计算x^yquot; 问题
Java 递归解决 "仅仅能两数相乘的计算器计算x^y" 问题 /*** 求一个数的乘方* 求x^y,y是一个正整数. 设计算器仅仅能计算两数相乘,不能一次计算n个数相乘. * 知 ...
- Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码.将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款 题目 题目描述 程序清单3-5 代码 题目 题目描述 *3. ...
- Java黑皮书课后题第1章:1.5(计算表达式)编写程序,显示以下式子的结果
Java黑皮书课后题第1章:1.5(计算表达式) 题目 题目描述 题目槽点 代码 代码块 代码评析与易错点 方法选用 易错点 非常不舒服的运算符前后空格(对新手来讲) 修改日志 题目 题目描述 编写程 ...
- java中使用几率_Java中使用蒙特卡洛算法计算德州扑克成牌概率(二)- 计算牌面分值...
德州扑克中比较重要的一个算法就是计算牌面的得分,不仅仅关乎概率计算的结果,同时也需要很高的性能.蒙特卡洛算法计算的次数越多结果越准确,因此算法的性能至关重要.下面是一个高性能的牌面java计算算法. ...
- Java 练习:编写 Java 程序,输入年份和月份,使用 switch 结构计算对应月份的天数。月份为 1、3、5、7、8、10、12 时,天数为 31 天。月份为 4、6、9、11 时,天数为 3
文章目录 一.练习题目 二.使用 switch 语句实现代码 三.将代码改写回 if else 的选择结构 一.练习题目 编写 Java 程序,输入年份和月份,使用 switch 结构计算对应月份的天 ...
- 经典编程习题,用Java实现:矩阵转置、最大公约数和最小公倍数、计算自然对数的底e的值、输出1000以内的回文素数、判断两个年份之间的平闰年情况。
经典编程习题,用Java实现 1.矩阵转置 2.最大公约数和最小公倍数 3.计算自然对数的底e的值 4.输出1000以内的回文素数 5.判断两个年份之间的平闰年情况 1.矩阵转置 public cla ...
最新文章
- ORM操作models一对多、多对多关系
- 皮一皮:落伍了落伍了
- mysql查看防火墙状态命令_Linux设置允许指定端口通过防火墙centos7
- 老板问我桌面演练(TTX)是什么,我直接给他发了定义、示例和目标
- gomod和govendor的简单理解
- debian 文件夹中文件大小_debian 记录用到的命令 文件夹 目录等操作
- 用流收集数据Collectors的用法介绍分组groupingBy、分区partitioningBy(一)
- javaSE各阶段练习题--初识Java章节
- java 星期几、得周一、得周日、上周、下周、相差、日期工具类
- 十次方项目开发系列【3】:基于MyBatis Plus实现条件查询和分页
- 基于辅助功能的镜像劫持攻击原理
- win11中利用IIS10搭建asp网站
- python爬虫抖音视频代码_python爬虫 抖音短视频解析下载
- TMS320F2837x开发例程使用手册(3)
- Centos7之清理/var/tmp目录下内容
- hacker 入门指南
- mysql 测试数据库employees导入
- Unity UI 框架
- 自动切换输入法--Mac高效切换输入法工具
- emby,jellyfin,kodi系列
热门文章
- exe文件解包_如何获取别人微信小程序的源文件?
- 今晚直播丨Oracle数据库之Object的Access方法和结合方法
- Oracle 20c 新特性:SQL 宏支持(SQL Macro)Scalar 和 Table 模式
- 故障诊断:12cR2 Flex ASM 环境中节点启动失败的诊断和分析
- 排序归并连接Merge Sort Join
- COG云原生优化遥感影像,瓦片切分的应用实践
- 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
- 【华为云技术分享】序列特征的处理方法之一:基于注意力机制方法
- 红橙Darren视频笔记 反射注解泛型简介
- C++学习笔记系列(一)