0.Ước chung lớn nhất, bội chung nhỏ nhất (Cơ bản)


Submit solution

Points: 1 (partial)
Time limit: 1.0s
Memory limit: 98M

Problem types

Tìm UCLN và BCNN của 2 số.

Input

Gồm nhiều test, mỗi test trên 1 dòng chứa 2 số nguyên dương không quá \(2^{31}\)

Bộ test kết thúc bởi dòng chứa 2 số 0.

Output

Mỗi test xuất ra trên 1 dòng chứa 2 số cách nhau bởi dấu cách lần lượt là UCLN và BCNN.

Example

Input:

2 4

6 9

0 0

Output:

2 4

3 18


Comments


  • 0
    nonamexxx  commented on Jan. 12, 2026, 7:09 a.m.

    import java.util.Scanner;

    public class Bai1{

    public static long gcd(long a, long b) {
        while(b!=0) {
            long temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLong()) {
            long a = sc.nextLong(), b = sc.nextLong();
            if (a==0 && b==0) return;
            System.out.println(gcd(a, b) + " " + a*b/gcd(a, b));
        }
    }

    }


  • 0
    ManhDucDong_KHMT_K64  commented on Nov. 17, 2024, 2:31 a.m.
    #include <iostream>
    #include <numeric>
    using namespace std;
    signed main(){
        int x,y;
        while(cin>>x>>y){
        if (x==y and x==0) return 0;
        cout<<gcd(x,y)<<" "<<lcm(x,y)<<endl;
        }
        return 0;
    }
    

    Thư viện numeric ở c++17 hỗ trợ hai hàm gcd với lcm.-.


  • 0
    rfcuongtay  commented on Nov. 18, 2022, 3:52 p.m.

    include<bits/stdc++.h>

    int main(){ long long int a, b; scanf("%lld%lld", &a, &b);

    printf("%lld %lld",std::__gcd(a,b), (a*b)/(std::__gcd(a,b))); return 0;

    } code mik sai o dau z mn lm on chi mk vs


    • 1
      khiem.tech  commented on Nov. 18, 2022, 5:39 p.m.

      Code bạn chỉ chạy được 1 cặp số và thiếu vòng lặp điều kiện khi bộ test kết thúc nhé


  • 0
    hoanghai_CNTT6_K61  commented on Nov. 17, 2021, 4:15 p.m.

    giúp mình xem sai ở đâu với ạ

    #include<bits/stdc++.h>
    using namespace std;    
    int main()
    {
        int a,b;
        do{
            cin>>a>>b;
            cout<<__gcd(a,b)<<" "<<((a*b)/__gcd(a,b))<<endl;
        }while(a!=0&&b!=0);
    }

    • 0
      LãoTam  commented on Nov. 17, 2021, 4:41 p.m.

      ô thêm

      if(a==0 && b==0) break;

      sau cin>>a>>b; là đc


    • 0
      LãoTam  commented on Nov. 17, 2021, 4:38 p.m.

      nếu nhập a=0 và b=0 thì break nhưng thuật toán của ô khi nhập a=0 và b=0 thì output =0 nên sai


  • 0
    cotyey  commented on May 23, 2018, 11:33 a.m.

    BCNN(a, b) = a * b / UCLN(a, b)

Giải đáp với AI