寻找最大公因数和最小公倍数

package 寻找公因数;
import java.util.Scanner;
public class 寻找公因数 {
 public static void main(String[] args) { 
        Scanner in = new Scanner(System.in); 
        System.out.print("input x :"); 
        int x = in.nextInt(); 
        System.out.print("input y :"); 
        int y = in.nextInt(); 
         
        int z = Method(x,y);  
        System.out.println("最大公因数 : "+z); 
        System.out.println("最小公倍数 : "+(x*y/z)); 
 }
         //计算公约数

//辗转相除法
          public static int Method(int x,int y){ 
              int a,b,c; 
              a=x; 
              b=y; 
              while(b!=0){ 
                  c=a%b; 
                  a=b; 
                  b=c; 
              } 
              return a; 
          } 
        //求公倍数 
          public static int multiple(int x,int y){ 
              int z; 
              for(z=x;;z++){ 
                  if(z%x==0&&z%y==0){ 
                      break; 
                  } 
              } 
              return z; 
          } 
 
 }

input x :3
input y :5
辗转相除法:
最大公因数 : 1
最小公倍数 : 15

原文地址:https://www.cnblogs.com/infinite14/p/8783387.html

时间: 2024-08-26 19:01:55

寻找最大公因数和最小公倍数的相关文章

最大公因数、最小公倍数、因式分解

最大公因数使用辗转相除法来求,最小公倍数则由这个公式来求. 最大公因数*最小公倍数=两数乘积  解法最大公因数可以使用递归与非递归求解,因式分解基本就是使用小于输入数的数值当作除数,去除以输入数值,如果可以整除就视为因数,要比较快的解法就是求出小于该数的所有质数,并试试看是不是可以整除,求质数是另一个问题,请参考Eratosthenes筛选求质数. 一.求最大公因数.最小公倍数 #include<stdio.h> #include<stdlib.h> int main(void){

欧几里德公式求最大公因数和最小公倍数

如下: #include<stdio.h> int gcd(int a,int b){ int temp; if(b > a){ temp = b; b = a; a = temp; } while(b){ temp = a%b; a = b; b = temp; } return a; } int lcm(int a,int b,int gcd){ int temp; if(b > a){ temp = b; b = a; a = temp; } return (a/gcd)*b

最大公因数和最小公倍数

package ;import java.util.Scanner;public class  { public static void main(String[] args) {          Scanner in = new Scanner(System.in);          System.out.print("input x :");          int x = in.nextInt();          System.out.print("input

求n个数的最小公倍数(数值范围的控制)

Description 求n个数的最小公倍数. INPUT 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. OUTPUT 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最后的输出是一个32位的整数. SAMPLE INPUT 2 4 6 3 2 5 7 SAMPLE OUTPUT 12 70 解题心得: 本来是很简单的题的,可是由于没有适当的控制算法,导致结果溢出. AC代码: 1 #include<stdio.h> 2 long int

n个数的最大公约数和最小公倍数

Po主刚刚考完计算概论....心情低落... 好气啊..昨天看到这题了...今天还是脑子一团浆糊....TAT 总结一发,吸取教训!努力学习!! //题目描述: 第一行输入,n 第二行输入n个数,输出这n个数的最大公约数和最小公倍数. 先求两个数的公因数. 辗转相除法原理:假设我们要求的是x和y的最大公约数(x>y),x可以表示为x=ay+b,那么x和y的公约数c也必能整除b,即x和y的公约数和y和b的公约数是相同的,若一直取除数和余数作为新的x和y,直到y是x的因数,此时y就是最大公约数(最大

java 经典算法(转)

1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇后 9.Algorithm Gossip: 八枚银币. 10.Algorithm Gossip: 生命游戏. 11.Algorithm Gossip:

经典算法大全

原文地址:经典算法大全 作者:liurhyme 经                                                                    典                                                                    算                                                                    法                  

运行时间中的对数

一.对分查找 给定一个整数X和A0,A1,A2,...,AN-1,后者已排序,求使得Ai=X的下标i,如果X不在数据中,则返回 i=-1 . 分析:首先数据已经排序,那么取中间元素与X进行比较,若相等则返回下标:若不相等则比较其大小以确定搜索区域. 第二种采用递归方法查找. 1 int binarySearch(const ElementType A[], ElementType X, int N) 2 { 3 int left, mid, right; 4 left = 0; right =

Wolf and Rabbit

gcd(最大公因数)和lcm(最小公倍数) 辗转相除法求a和b的最大公因数和最小公倍数: 最小公倍数=a*b/最大公约数: 求最大公因数: int gcd(int a,int b) { int temp; if (a<b) { temp=a; a=b; b=temp; } while (b!=0) { temp=a%b; a=b; b=temp; } return a; } 求最小公倍数: int lcm(int x,int y) { return x*y/gcd(x,y); } 题目: The