Java小程序:输入两个正整数m和n,利用辗除法求其最大公约数
2016-05-24 17:15
741 查看
java:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。
程序运行截图:
辗除法
辗转相除法,
又名欧几里德算法(Euclidean
algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》
程序分析:利用辗除法。
程序运行截图:
辗除法
辗转相除法,
又名欧几里德算法(Euclidean
algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》
public class Test { public static final void main(String[] args) { System.out.println("请输入两个正整数"); System.out.print("第一个正整数:"); Scanner scanner = new Scanner(System.in); String one = scanner.nextLine(); int a = Integer.valueOf(one); System.out.print("第二个正整数:"); String two = scanner.nextLine(); int b = Integer.valueOf(two); System.out.println("a = " + a + ", b =" + b); // 求最大公约数 // 1. a ÷ b,令temp为所得余数(0≤r<b) // 若 temp = 0,算法结束;b 即为答案。 // 2. 互换:置 a←b,b←temp,并返回第一步。 int temp, num1 = a, num2 = b; if (a < b) { // 互换位置 temp = b; b = a; a = temp; } System.out.println("a = " + a + ", b =" + b); while (b != 0) {/* 利用辗除法,直到b为0为止 */ temp = a % b; a = b; b = temp; } System.out.println("最大公约数:" + a); // 求最小公倍数 System.out.println("最小公倍数:" + num1 * num2 / a); } }
相关文章推荐
- 微信推送消息 errcode 45047,errmsg :out of response count limit hint
- 一款自动汇报工作的微信机器人
- 小程序总结
- 微信移动支付接口申请——2016年5月版
- 微信登录授权错误整理
- 微信开发,公众号支付及微信扫描支付各自使用的密码分别来自哪里
- 个人微信公众号
- Android微信智能心跳方案
- Java小程序:输入一组复数并打印出来
- python爬虫抓手机号+java客户端小程序3
- 第七讲 分支结构程序体验之练习 3个小程序
- 今天早上开了微信,确实是太卡了
- iOS 微信支付 实用教程
- IOS开发--微信支付
- java-微信新版自动聊天助手
- 微信公众平台百度天气预报开发
- zabbix微信报警之企业号
- 逻辑思维题 微信18954274246 答案
- Android高仿微信图片选择上传工具
- 张小龙《微信背后的产品观》之PPT完整文字版