首页 > 试题广场 >

最小公倍数

[问答题]

最小公倍数

内容:

求两个自然数的最小公倍数

输入说明:

输出说明:

输入样例:

2 4

输出样例:

4

#include <iostream>
using namespace std;
long gcd(long a,long b)
{
 if(a%b==0) return b;
 else return gcd(b,a%b);
 } 
int main()
{
long a,b,s;
cin>>a>>b;
s=gcd(a,b);
cout<<s*(a/s)*(b/s);
return 0;
} 

int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    int m = (a < b) ? a : b;
    int d = 0;
    while (m)
    {
        if (m % a == 0 && m & b == 0)
        {
            printf("%d",m);
            break;
        }
        m++;
    }
    return 0;
}
编辑于 2024-03-04 23:10:01 回复(0)
#include <stdio.h>

//辗转相除法
long long GCD(long long x,long long y);
 
int main()
{
    long long x,y;
    while(scanf("%lld%lld",&x,&y) != EOF){
        printf("%lld\n",x * y / GCD(x,y));
    }
    return 0;
}

long long GCD(long long x,long long y){
    if(y == 0){
        return x;
    } else {
        return GCD(y,x%y);
    }
}
编辑于 2024-01-31 13:16:02 回复(0)
如下
#include<stdio.h>
int main() {
	int a = 0, b = 0;
	int c = 1;
	scanf("%d %d", &a, &b);
	while (c * a % b != 0) {
		c++;
	}
	printf("%d", a * c);
}

发表于 2022-08-08 22:10:14 回复(0)
#include <stdio.h>
int main()
{
    int n1, n2;
    scanf("%d %d", &n1, &n2);
    // int min = n1 > n2 ? n2 : n1;
    int i = 1;
    while (1)
    {
        int temp = n1 * i;
        if (temp % n2 == 0)
        {
            printf("%d", temp);
            break;
        }
        i++;
    }
}
#include <stdio.h>
int main()
{
    int n1, n2;
    scanf("%d %d", &n1, &n2);
    
    int max = n1 > n2 ? n1 : n2;
    int min = n1 < n2 ? n1 : n2;
    while (min != 0)
    {
        int temp = min;
        min = max % min;
        max = temp;
    }
    printf("%d", n1 * n2 / max);
}


发表于 2022-03-25 15:49:19 回复(0)

include

using namespace std;

long gcb(int a, int b)
{
if(a % b == 0) return b;
else return gcb(b, a%b);
}
int main()
{
int a, b, s;
cin >> a >> b;
gcb(a, b);
cout<<s(a/s)(b/s);
return 0;
}

发表于 2020-08-12 11:31:02 回复(0)
#include<iostream>
#include <utility>
using namespace std;
int GCB(int a, int b)
{
    if(a < b)
        swap(a,b);
    int i = b;
    for(; b > 0; --i)
    {
        if(a%i == 0 && b%i == 0)
            break;
    }
    return i;
}
int main()
{
    int A,B;
    cin >> A >> B;
    cout << ((A/GCB(A,B)) * (B/GCB(A,B))* GCB(A,B)) << endl;
    return 0;
}

发表于 2020-06-09 16:05:30 回复(0)
/***************************************************
 * Author        : cornfieldchase
 * Blog          : cornfieldchase2014.com
 * Filename      : 求最小公倍数.cpp
 * Description   : 
 * Last modified : 2019-11-14 18:45
***************************************************/
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
	int m, n, i;
	cin >> m >> n;
	for (i = m;; i++)
	{
		if (i%m == 0 && i%n == 0)
			break;
	}
	cout << i;
}

发表于 2019-11-14 18:54:37 回复(0)