java编程出三个数中的最小公倍数

作者&投稿:凌甄 (若有异议请与网页底部的电邮联系)
用Java实现,已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。~

import java.util.Scanner;
public class C{
public static int fun1(int a1,int b1){
int c;
c=a1%b1;
while (c>0)
{a1=b1;
b1=c;
c=a1%b1;
//return b1;
}
return b1; //把return写在这里;
}
public static void main(String[] args) {
int a,b,temp;
int m;
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
if(a<b)
{temp=a;a=b;b=temp;
}
m=fun1(a,b);
System.out.println("最大公约数为:"+m);
System.out.println("最小公倍数为:"+(a*b)/m);
}
}

这个JDK里面貌似真没有,不过你可以用这个:
http://blog.163.com/zhao_8420001/blog/static/50370196201243133828127/

你好,这是代码


LeastCommonMultipleTest.java

public class LeastCommonMultipleTest {
    public static void main(String[] args) {
        // 三个数
        int a = 7, b = 9, c = 11;
        // 最小公倍数
        int number = 0;
        // 从0开始判断,无上限(最大可能是三个数字的乘积)
        while (!isCommonMultipleNum(number, new int[] { a, b, c })) {
            // 从0开始判断,不是公倍数就+1
            number++;
        }
        System.out.printf("最小公倍数是:" + number);
    }

    /**
     * 判断某数是否为几个数字的公倍数
     * 
     * @param number
     *            要判断是否为公倍数的数字
     * @param arr
     *            数字数组
     * @return 判断结果,是公倍数返回true,不是返回false
     */
    private static boolean isCommonMultipleNum(int num, int[] arr) {
        // 循环判断每一个数字
        for (int i = 0; i < arr.length; i++) {
            int current = arr[i];
            if (num < current || num % current != 0) {
                return false;
            }
        }
        return true;
    }
}


第一种方案:
public static void main(String[] args) throws IOException {
BufferedReader bis = new BufferedReader(
new InputStreamReader(System.in));
int num[] = new int[3];
for (int i = 0; i < 3; i++) {
num[i] = Integer.parseInt(bis.readLine());
}

Arrays.sort(num);

for (int i = num[0]; i <= num[0] * num[1] * num[2]; i++) {
if (i % num[0] == 0 && i % num[1] == 0 && i % num[2] == 0) {
System.out.println("最小公倍数为" + i);
break;
}

}
}
第二种方案:
import java.util.*;  
  
/*求最大公约数和最小公倍数*/  
public class MaxCommonDivisorAndMinCommonMultiple {  
  
    public static void main(String[] args) {  
        Scanner scan = new Scanner(System.in);// 接收控制台输入的信息  
  
        System.out.print("请输入第一个整数:");  
        int num1 = scan.nextInt(); // 取出控制台输入的信息  
  
        System.out.print("请输入第二个整数:");  
        int num2 = scan.nextInt(); // 取出控制台输入的信息  
  
        System.out.println(maxCommonDivisor(num1, num2));// 调用maxCommonDivisor()方法  
        System.out.println(minCommonMultiple(num1, num2));// 调用minCommonMultiple()方法  
    }  
  
    // 递归法求最大公约数  
    public static int maxCommonDivisor(int m, int n) {  
        if (m < n) {// 保证m>n,若m<n,则进行数据交换  
            int temp = m;  
            m = n;  
            n = temp;  
        }  
        if (m % n == 0) {// 若余数为0,返回最大公约数  
            return n;  
        } else { // 否则,进行递归,把n赋给m,把余数赋给n  
            return maxCommonDivisor(n, m % n);  
        }  
    }  
  
    // 循环法求最大公约数  
    public static int maxCommonDivisor2(int m, int n) {  
  
        if (m < n) {// 保证m>n,若m<n,则进行数据交换  
            int temp = m;  
            m = n;  
            n = temp;  
        }  
        while (m % n != 0) {// 在余数不能为0时,进行循环  
            int temp = m % n;  
            m = n;  
            n = temp;  
        }  
        return n;// 返回最大公约数  
    }  
  
    // 求最小公倍数  
    public static int minCommonMultiple(int m, int n) {  
        return m * n / maxCommonDivisor(m, n);  
    }  
}


比较好的方法是,先写一个求两个数的最小公倍数的方法,然后循环调用,这是我之前写的求最小公倍数的方法
private static int getLeastCommon(int numA, int numB) {
for (int i = (numA > numB ? numA : numB); i <= numA * numB; i++) {
if (i % numA == 0 && i % numB == 0)
return i;
}
return 0;
}

你要先知道什么是公倍数,然后设3个事,abc,求abc的公倍数,当你运算的时候把需要的3个数,传入abc就是公倍数了

Java求三个数的最小公倍数算法优化(极限性能)

网页链接




什么是Java语言? Java语言程序员就业前景如何?
ava 语言是一种广泛使用的编程语言,具有面向对象、跨平台等特点。虽然现在很多大厂都在裁员,但Java 语言程序员的就业前景还是比较乐观的。Java 应用广泛,在企业级应用、互联网开发、移动应用开发等领域都有大量需求。唐普觉得随着技术的不断发展,对 Java 程序员的要求也在不断提高,但总体来说,Java ...

AtciveX是什么?做什么用?
让对象模型完全独立于编程语言,这是一个非常新奇的思想。从C++和Java的对象上 ,我们就能有所了解。但所谓COM对象究竟是什么?为了便于理解,可以把COM看作是某种( 软件)打包技术,即把它看作是使软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和一组支持库。COM对象可以用C++、Java和VB等任意一种...

JAVA有哪些基本数据类型啊
另一方面, Java的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java虚拟机(JVM)运行在何等低级的操作系统之上,数据类型的属性都是完全一 样的。简单数据类型 简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。更大、 更复杂的数据类型可以采用...

看完21天学通AVA下面不知道应该看什么.请高手指点.. 主要想开发网页和桌...
如果是要开发网页的,也就是j2ee。学完java基础后,建议先学数据库oracle。然后再学jsp,也就是servlet。再学SSH(spring,struts,hibernate)三大框架。最后可以学习一下jquery,ajax作为补充。这样你一般的网站都能做出来了。这些视频在网上都能找到的。如果是要桌面编程的话,这个属于j2se的范畴。你需要...

有关手机是否支持AVA功能的问题
JAVA是一款文件破译程序他可以对游戏程序进行读取,现在很多游戏的编程都是用的JAVA程式,也就是只要支持JAVA你的手机就相当于游戏机,只要提供程序他就可以读取也就好似可以玩,至于国产手机我只见过天语的一些手机支持

java编程有哪几本书比较适合初学者?
让你能够比较熟练的使用Java来编程,解决一般的问题 。 最后向大家推荐的是《Java2核心技术》,这本书主要讲述了Java的核心技术也是J ava的难点之处,具有很高的参考价值,无论是Java的初学者还是Java编程老手,都 能从此书受益。 这时候大家可能会注意到,其中竟然没有大名鼎鼎的《Thinking in Java》...

java可视化界面编程(java可视化界面编程嵌入HTML)
2、ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME\/J2SE\/J2EE。3、有的,你可以下载一个插件好像叫designer安装之后配置一下就可以用了,也实现了拖放控件的可视化编程,拖了控件双击...

大数剧技术主要学什么
专业基础课程、专业核心课程、ava编程技术、Linux命令。1、专业基础课程:如计算机网络技术、Web前端技术基础、Linux操作系统、程序设计基础、Python编程基础、数据库技术。2、专业核心课程:如数据采集技术、数据预处理技术、大数据分析技术应用、数据可视化技术与应用、数据挖掘应用、大数据平台部署与运维。3、...

我想创办一个像CSOL CF AVA的网络游戏要什么资本
首先需要一个团队。然后是集资,当然你有实力的话可以找银行贷款。做这个必须要有公司,你也可以找想腾讯、天成这样的运营商进行合作,前提是要看你的构想怎么样。其次是你的计算机水平必须过硬,前期可以像开发一些小游戏看看效果怎么样。然后是单机游戏,看看能否卖出去,像使命召唤这些单机多好。还有适当...

CSOL和CF还有AVA哪个好玩,我是上班族
CF不用说了,G,素质不是一般的差,但是金币枪买了是永久的,CSOL金币枪有限制,对于上班族来说买了之后几天不玩就到期,很麻烦的,还有AVA没玩过,求指点,这3个游戏哪个... CF 不用说了,G,素质 不是一般的差,但是金币枪买了是永久的,CSOL金币枪有限制,对于上班族来说买了之后几天不玩就到期,很麻烦的,还有...

三水区17843959277: java编程出三个数中的最小公倍数 -
牧月鹿茸: 你好,这是代码LeastCommonMultipleTest.java public class LeastCommonMultipleTest {public static void main(String[] args) {// 三个数int a = 7, b = 9, c = 11;// 最小公倍数int number = 0;// 从0开始判断,无上限(最大可能是三个数字的...

三水区17843959277: 简单的java程序 最小公倍数
牧月鹿茸: package demo;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class BeiShu {public static void main(String[] args) {Scanner sca=new Scanner(System.in);while(true){System.out.println("请输入一个正整数N(1=<N<...

三水区17843959277: 如何用java写一个求出最小公倍数的程序? -
牧月鹿茸: int minMultiple(int a, int b) { int r = a, s = a, t = b; if (a < b) { r = a; a = b; b = r; } while (r != 0) { r = a % b; a = b; b = r; } return s * t / a; } 从算法上讲绝对优于楼上的楼上

三水区17843959277: 编写程序求3个数的最小公倍数 -
牧月鹿茸: 有点暴力,不过是可以的 #include <stdio.h> int main() {int a,b,c;//三个数printf("请输入三个数\n");scanf("%d%d%d",&a,&b,&c);for(int i = a;;i++){if((i%a == 0)&&(i%b == 0)&&(i%c == 0))//当i可以同时被三个数整除时输出结果;{printf("最小公倍数为:\n%d",i);break;}}return 0; }

三水区17843959277: java求2 4 5的最小公倍数.必须用最简单的代码! -
牧月鹿茸: for(int i=5;;i++){if(i%2==0&&i%4==0&&i%5==0){System.out.println("最小公倍数是:"+i);break;}}

三水区17843959277: JAVA如何编写程序求两个数的最大公约数和最小公倍数? -
牧月鹿茸: [java] view plaincopy import java.util.*; /*求最大公约数和最小公倍数*/ public class MaxCommonDivisorAndMinCommonMultiple {public static void main(String[] args) {Scanner scan = new Scanner(System.in);// 接收控制台输入的信息System...

三水区17843959277: JAVA求20和12的最小公倍数 -
牧月鹿茸: 我来帖个笨代码 先看接口:整数过滤器 public interface IntegerFilter { /** * 判断参数是否是可接受的 * @param n * @return 如果参数是可接受的就返回true,否则返回false */ public boolean accept(int n); } 实现代码和试验:final public class ...

三水区17843959277: java中请给出例子程序:找出两个数的最大公约数和最小公倍数 -
牧月鹿茸: 找出12和8的最大公约数和最小公倍数.public class Test {public static void main(String[] args) {getcommon_mu(12,8);getcommon_div(12,8);}//...

三水区17843959277: 求最小公倍数的java method的code -
牧月鹿茸: public int leastCommonMultiple(int value1, int value2) { int flag = value1; int temp1 = value1; int temp2 = value2; if (value1flag = value1; value1 = value2; value2 = flag; } while (flag != 0) { flag = value1 % value2; value1 = value2; value2 = flag; } return temp1 * temp2 / value1; }

三水区17843959277: 求JAVA最小公倍数的代码
牧月鹿茸: package one; import java.util.*; public class ProOne { //题目:输入两个正整数m和n,求其最大公约数和最小公倍数. //程序分析:利用辗除法. public static void main(String[] args) { int m=0,n=0,m1=0,n1=0; int a; Scanner scanner = new ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网