题目:输入两个正整数m和n,求其最大公约数(m,n)和最小公倍数[m,n]。

程序分析:利用辗转相除法。

利用辗除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,

再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。

最后的除数就是这两个数的最大公约数。

最小公倍数:两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(m,n)×[m,n]=m×n。

 import java.util.*;

 public class Problem06 {
//题目:输入两个正整数m和n,求其最大公约数(m,n)和最小公倍数[m,n]。
//利用辗除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,
//再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
//最后的除数就是这两个数的最大公约数。
//最小公倍数:两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(m,n)×[m,n]=m×n
public static void main(String args[]) {
System.out.println("请输入两个正整数:");
Scanner s = new Scanner(System.in);
int m = s.nextInt();
int n = s.nextInt();
System.out.println(m+"和"+n+"的最大公约数是:"+zhanzhuan(m,n));
System.out.println(m+"和"+n+"的最小公倍数是:"+gongbei(m,n));
s.close();
} //辗转相除法找出最大公约数
public static int zhanzhuan(int m, int n) {
//找出较大的数
if(m<n) {
int temp = m;
m = n;
n = temp;
}
while(true) {
//
int r = m % n;
if(r==0) {
return n;
}else {
m = n;
n = r;
}
}
} //最小公倍数:两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(m,n)×[m,n]=m×n
public static int gongbei(int m, int n) {
return m*n / zhanzhuan(m,n);
}
}

输入30,45,输出结果:

 请输入两个正整数:
30
45
30和45的最大公约数是:15
30和45的最小公倍数是:90

Problem06 求最大公约数及最小公倍数的更多相关文章

  1. c语言求最大公约数和最小公倍数

    求最大公约数和最小公倍数 假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因 ...

  2. JAVA 基础编程练习题6 【程序 6 求最大公约数及最小公倍数】

    6 [程序 6 求最大公约数及最小公倍数] 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package cskaoyan; public class csk ...

  3. 辗转相除法求最大公约数和最小公倍数【gcd】

    要求最小公倍数可先求出最大公约数 设要求两个数a,b的最大公约数 伪代码: int yushu,a,b: while(b不等于0) { yushu=a对b求余 b的值赋给a yushu的值赋给b } ...

  4. Java求最大公约数和最小公倍数

    最大公约数(Greatest Common Divisor(GCD)) 基本概念 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的 ...

  5. c语言求最大公约数和最小公倍数(转)

    最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实基础,另外就是希望能够帮到和我一样的初学者 ...

  6. Java50道经典习题-程序6 求最大公约数及最小公倍数

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数    两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...

  7. 求最大公约数和最小公倍数_python

    """写两个函数,分别求两个整数的最大公约数和最小公倍数,调用这两个函数,并输出结果.两个整数由键盘输入.""" ''' 设两个整数u和v, ...

  8. c语言:辗转相除法求最大公约数、最小公倍数

    辗转相除法,又称欧几里得算法.两个正整数a和b(a>b),它们的最大公约数等于余数c和较小的数b之间的最大公约数.最小公倍数=两数之积/最大公约数 #include <stdio.h> ...

  9. python实现求最大公约数与最小公倍数

    记录python实现最大公约数&最小公位数两种算法 概念 最大公约数:指两个或多个整数共有约数中最大的一个 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就 ...

随机推荐

  1. Absolute Layout

    ----------------siwuxie095 根面板 contentPane 的默认布局为 Border Layout,将其 切换为 Absolute Layout Absolute Layo ...

  2. Struts2框架07 Struts2 + Spring + Mybatis 整合

    1 导包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...

  3. C++ 成员函数前和函数后加const修饰符区别

    博客转载自: https://www.iteblog.com/archives/214.html 分析以下一段程序,阐述成员函数后缀const 和 成员函数前const 的作用 #include< ...

  4. 关于pdf阅读器的选择

    如果只是想简单阅读不做学习笔记.标注之类的 可以直接用chrome firefox打开,它们内部有一个pdf.js实现了pdf标准可以直接阅读. 如果是要批注pdf,就和在纸质书上做笔记.添加书签,那 ...

  5. img中 src 中文路径解决办法

    最近有个项目场景如下:需要后台遍历图片.视频所在的文件夹,获取的到的路径传递到JSP页面,使用<img src="具体的路径">显示图片.遇到的问题:如果图片的路径.图 ...

  6. java全栈day06---数组的练习 冒泡排序

    水仙花练习功能实现 * A: 水仙花练习功能实现 * a: 题目分析 * 明确什么样的数就是水仙花数.水仙花数是指一个3位数(100-999之间),其每位数字立方之和等于该3位数本身. 如153 = ...

  7. MSSQL数据库设计心得

    统一库名命名规则. 格式:公司简称_库名 如:Supesoft_Member  会员库 建库时,最好将初始大小设置为你认为可允许的最大容量.避免因为库太小,而出现系统自增加.在系统运行中,自动增加空间 ...

  8. Google androd性能优化经典

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  9. FileInfo类和DirectoryInfo类

    FileInfo类和DirectoryInfo类可以方便地对文件和文件夹进行操作. 1. FileInfo类(非静态类) FileInfo类和File类之间许多方法调用都是相同的,但是FileInfo ...

  10. Binder学习笔记(五)—— Parcel是怎么打包数据的?

    前文中曾经遇到过Parcel,从命名上知道他负责数据打包.在checkService的请求/响应体系中,Parcel只打包了基本数据类型,如Int32.String16……后面还要用于打包抽象数据类型 ...