求最小公倍数 && 最大公约数

# include <iostream>
using namespace std;
int gcd(int x, int y) // 最大公约数
{
    while(x != y)
    {
        if(x > y)
            x = x - y;
        else
            y = y - x;
    }
    return x;
}
int main()
{
    int m, n;
    while(cin >> m >> n)
    {
      cout << gcd(m, n) << endl; //最大公约数
      cout << n / gcd(m, n) * m << endl; // 最小公倍数
    }

    return 0;
}
时间: 2024-08-24 20:49:45

求最小公倍数 && 最大公约数的相关文章

常见算法:C语言求最小公倍数和最大公约数三种算法

最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去运行① 比如求27和15的最大公约数过程为: 27÷15 余1215÷12余312÷3余0

代码代码:输入两个正整数m和n,求其最大公约数和最小公倍数。15 20 5

import java.util.Scanner; //输入两个正整数m和n,求其最大公约数和最小公倍数.15 20 5 public class Test { public static void main(String[] args) { int n = inNumber(); int m = inNumber(); int yue = 1; int bei = m*n; for (int i = 2; i < n*m; i++) { if (m % i == 0 && n %

c语言:输入两个正整数m和n,求其最大公约数和最小公倍数

输入两个正整数m和n,求其最大公约数和最小公倍数. 解:程序: #include <stdio.h> int main() { int num1, num2, t,p; printf("请输入两个正整数:"); scanf("%d,%d", &num1, &num2);//7,8 p = num1*num2; while (t = num1%num2)//7           1        0,循环结束 { num1 = num2;

C语言求最小公倍数和最大公约数三种算法(经典)

把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考! --------------------------永远爱你们的:Sakura 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b即为两

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

//题目:输入两个正整数m和n,求其最大公约数和最小公倍数. package com.mumu.ready; import java.util.Scanner; public class Multiple { public static void main(String[] args) { Scanner can = new Scanner(System.in); System.out.println("Please input Integer m&n:"); int m =

55.输入两个正整数m和n,求其最大公约数和最小公倍数

#include<iostream> using namespace std; int main() { int m,n,Max; int temp1,temp2; cout<<"please input two numbers:"<<endl; cin>>m>>n; Max=(m>n)?m:n; for(int i=1;i<Max;i++) { if(m%i==0&&n%i==0) { temp1

(hdu step 2.1.1)最小公倍数(使用最大公约数来辅助求最小公倍数)

题目: 最小公倍数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3609 Accepted Submission(s): 2596   Problem Description 给定两个正整数,计算这两个数的最小公倍数. Input 输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. Output 对于每个测试用例,给出这

求最小公倍数和最大公约数

1.分解素因数法:把每个数分别分解素因数,再把各数中的全部公有素因数提取出来连乘,所得的积就是这几个数的最大公约数:先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积: 2.短除法:短除法求最大公约数,先用这几个数的公约数连续去除,一直除到所有的商互质为止,然后把所有的除数连乘起来,所得的积就是这几个数的最大公约数: 把数字依次相乘,最小公倍数等于它们所有因数的乘积: public class LeastCommonMultiple { // 定义两个数 private int m

输入两个正整数,求其最大公约数和最小公倍数

1 /* 2 题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 3 例如:12和20的最大公约数是4,最小公倍数是60. 4 */ 5 6 // 导包 7 import java.util.Scanner; 8 9 public class ForTest { 10 public static void main(String[] args) { 11 // 创建键盘输入对象 12 Scanner sc = new Scanner(System.in); 13 14 // 接收键盘输入的