java中请给出例子程序:找出两个数的最大公约数和最小公倍数

9.2 找出12和8的最大公约数和最小公倍数。    (视频下载) (全部书籍)

public class Test {
    public static void main(String[] args) {
        getcommon_mu(12,8);
        getcommon_div(12,8);
    }
//计算 最大公约数  和  最小公倍数
    static void getcommon_mu(int n, int m) {
        int i, b, d;
        b = n > m ? n : m; //get big number,得到大数
        d = n < m ? n : m; //get small number,得到小数
        for (i = 1; i <=d; i++) {
/*假如12乘以2,能够除得开8的话。那12乘以2就是8的公倍数。*/
            if ((i * b) % d == 0) {
                System.out.println(" " + (i * b));
                break;
            }
        }
    }
    static void getcommon_div(int n,int m){
         int i, b, d;
         b = n > m ? n : m; //get big number
         d = n < m ? n : m; //get small number
         for(i=d;i>=1;i--)
         {
/*假如12能除的开4,而且8也能除的开4的话,4就是12和8的公约数。反正循环是为了得到最大公约数。马克-to-win*/             
             if((d%i==0)&&(b%i==0))
             {
                 System.out.println(" "+i);
                         break;
             }
         }
    }
}

结果:

24
 4
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner1_web.html#9.2

原文地址:https://www.cnblogs.com/mark-to-win/p/9690249.html

时间: 2024-10-27 23:14:27

java中请给出例子程序:找出两个数的最大公约数和最小公倍数的相关文章

Protobuf动态解析在Java中的应用 包含例子程序

最近在做ProtoBuf相关的项目,其中用到了动态解析,网上看了下相关资料和博文都比较少,自己来写一个记录一下学习过程. Protocol Buffers是结构化数据格式标准,提供序列化和反序列方法,用于存储和交换.语言中立,平台无关.可扩展.目前官方提供了C++.Java.Python API,也有其他语言的开源api(比如php).可通过 .proto文件生成对应语言的类代码 如果已知protobuf内容对应的是哪个类对象,则可以直接使用反序列化方法搞定(Xxx.parseFrom(inpu

C#趣味程序---求两个数的最大公约数和最小公倍数

using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数:"); int num1 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入另一个数:"); int num2 = int.Parse(Console.ReadLin

剑指Offer(Java版)第四十五题:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

/*一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. */ import java.util.*; public class Class45 { public void FindNumsAppearOnce(int[] array, int num1[], int num2[]){ ArrayList<Integer> list = new ArrayList<Integer>(); Arrays.sort(array); for(int

逻辑题(一)一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。

package test; import java.util.*; public class test17 { public static void main(String[] args) { //一个整型数组里除了两个数字之外,其他的数字都出现了两次. // 请写程序找出这两个只出现一次的数字. int[] ints = {1,1,2,5,5,6,3,3}; Map<Integer, Integer> map = new HashMap<Integer, Integer>();

本程序找出字符串数组 String[] arr = {“welcome”, “china”, “hi”, “congratulation”, “great”} 中的长度最大的元素,并打印输出。

/** * Homework14 * * @Description:本程序找出字符串数组 String[] arr = {"welcome", "china", "hi", * "congratulation", "great"} 中的长度最大的元素,并打印输出. * StringDemo01 * * @author  * * email: [email protected] 2017年4月18日下午6:3

一个整型数组里除了两个不同数字之外,其它的数字都出现了两次。请写程序找出这两个只出现一次的数字。

曾经做过一道水题找出除了一个数字之外,其他数字都有2个.直接异或 最后结果就是那个数. 现在变成存在2个不一样的数字,假设成x,y,那么可以O(n)求出x^y,因为x,y不同,所以异或的结果不为0,看成2进制数,那么找到第一位为1 的位置,将这个位置设置为划分点,数组里所有这个位置为1 的异或一次,所有为0的再异或一次,最终求出的两个即为两个独特的数字. #include <stdio.h> #include <string.h> #include <algorithm>

一个数如果恰好等于不包含它本身所有因子之和,这个数就称为&quot;完数&quot;。 例如,6的因子为1、2、3,而6=1+2+3,因此6是&quot;完数&quot;。 编程序找出N之内的所有完数,并按下面格式输出其因子

问题 1017: [编程入门]完数的判断 时间限制: 1Sec 内存限制: 128MB 提交: 9159 解决: 4243 题目描述 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数,并按下面格式输出其因子 输入 N 输出 ? its factors are ? ? ? 样例输入 1000 样例输出 6 its factors are 1 2 3 28 i

编写一个程序找出100~999之间所有的水仙花数

如果一个3位数等于其各位的立方和,称该数为水仙花数. 如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 print

一个数如果恰好等于它的因子之和,这个数就称为&quot;完数&quot;。 例如,6的因子为1、2、3,而6=1+2+3,因此6是&quot;完数&quot;。 编程序找出N之内的所有完数,

题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数,并按下面格式输出其因子: 输入 N 输出 ? its factors are ? ? ? 样例输入 1000 样例输出 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 496 its factors are 1 2 4 8 16 31 62 124