Java经典算法40例(六)
来源:互联网 发布:宁波plc编程招聘 编辑:程序博客网 时间:2024/06/08 10:00
输入两个正整数m和n,求其最大公约数和最小公倍数。
分析:
求最大公约数采用辗转相除法:
m、n为两个正整数,通常使m>=n。
m/n=c……d;
把n作为新的m,d作为新的n,再次相除,知道余数c=0。此时的n就是最大公约数。
求最小公倍数:
最小公倍数*最大公因数=两数乘积
代码:
import java.util.Scanner;/** * 最大公约数 * 最小公倍数 * @author cheng * */public class Six { //求最大公约数:辗转相除法 public int gongyueshu(int m,int n){ if(n>m){ int temp=0; temp=n; n=m; m=temp; } while(m%n!=0){ int a=m%n; m=n; n=a; } return n; } //求最小公倍数 public int gongbeishu(int m,int n){ int b=m*n/(gongyueshu(m, n)); return b; } public static void main(String[] args){ Six six=new Six(); System.out.println("请输入一个正整数"); Scanner in=new Scanner(System.in); int m=in.nextInt(); System.out.println("请输入另一个正整数"); int n=in.nextInt(); System.out.println("最大公约数为:"+six.gongyueshu(m,n)); System.out.println("最小公倍数为:"+six.gongbeishu(m, n)); in.close(); }}
输出结果:
请输入一个正整数6请输入另一个正整数8最大公约数为:2最小公倍数为:24
阅读全文
0 0
- Java经典算法40例(六)
- Java经典算法40例(一)
- Java经典算法40例(二)
- Java经典算法40例(三)
- Java经典算法40例(四)
- Java经典算法40例(五)
- Java经典算法40例(七)
- Java经典算法40例(八)
- Java经典算法40例(九)
- Java经典算法40例(十)
- Java经典算法40例(十一)
- Java经典算法40例(十二)
- Java经典算法40例(十三)
- Java经典算法40例(十四)
- Java经典算法40例(十五)
- Java经典算法40例(十六)
- Java经典算法40例(十七)
- Java经典算法40例(十八)
- Redis列表和集合类型学习
- 数据压缩 实验报告一 彩色空间转换
- 多个头文件相互包含编译问题
- python小工具--将cifar10转为图像数据
- java连接oracle
- Java经典算法40例(六)
- Android触摸事件分发处理机制详解与源码分析一(View篇)
- 51nod 1672 区间交 (经典贪心)
- MyBatis
- 输入一个数组,求出这个数组的逆序对的总数
- 简单留言板(笔记)
- Hive基础一(数据库,表,分区表,视图,导入导出数据)
- 基于BootStrap的仿淘宝星星商品评价案例
- 暑假快速学习html的学习笔记