VL14 - Tìm ước chung lớn nhất của 2 số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho 2 số nguyên ~a~ và ~b~, viết chương trình tìm ước chung lớn nhất của ~a~ và ~b~

Input

  • Hai số nguyên ~a~ và ~b~

Giới hạn

  • ~|a|, |b| \le 10000~,
  • ~a, b~ không đồng thời bằng 0.

Output

Ước chung lớn nhất của ~a~ và ~b~

Sample

Input #1
2 4
Output #1
2
Input #2
-2 -10
Output #2
2
Input #3
0 43
Output #3
43

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    thangok  đã bình luận lúc 2, Tháng 4, 2024, 4:08

    include<bits/stdc++.h>

    using namespace std; int ucln(int a,int b){ int sd=a%b; while(sd!=0){ a=b; b=sd; sd=a%b; } return abs(b); } int main(){ iosbase::syncwith_stdio(false); cin.tie(0);cout.tie(0); int a,b; cin>>a>>b; cout<<ucln(a,b); return 0; }


  • 0
    Dustin687  đã bình luận lúc 9, Tháng 3, 2024, 14:32

    hàm __gcd trong c++ bị sao mà không full được test vậy ạ


    • 0
      dainghiajustiin  đã bình luận lúc 10, Tháng 3, 2024, 7:04

      Có trường hợp số âm nữa nhé bạn


  • 0
    dtdungvnt  đã bình luận lúc 1, Tháng 3, 2024, 14:22

    Python: Không biết test 5 là cái gì nữa mà sai hoài. Tuy nhiên, import gcd vào và dùng thì AC full test!


  • 0
    dvo76167_gmail_com  đã bình luận lúc 24, Tháng 2, 2024, 8:51

    Ac full

    include<bits/stdc++.h>

    define ll long long

    using namespace std;

    int main() { ll a,b; cin>>a>>b; cout<<abs(__gcd(a,b)); return 0; }


  • 0
    haoblung  đã bình luận lúc 13, Tháng 2, 2024, 11:24

    Nếu trường hợp a = -2 ; b = 10 thì ước chung lớn nhất của 2 số này là gì vậy?


    • 0
      hoangvinhkhanh  đã bình luận lúc 7, Tháng 4, 2024, 8:32

      2 nha bạn


    • 0
      dtdungvnt  đã bình luận lúc 1, Tháng 3, 2024, 14:15

      là 2 ấy


  • 0
    ngochahh2005  đã bình luận lúc 5, Tháng 2, 2024, 14:44

    import java.util.Scanner;

    public class VL14 { public static int gcd(int a, int b) { if (a < b) { int t = a; a = b; b = t; } if (b == 0) return a; else return gcd(b, a % b); } public static void main(String[] args) { Scanner sc = new Scanner(System.in);

        int a = sc.nextInt(), b = sc.nextInt();
        if (a == 0) System.out.println(b);
        else if (b == 0) System.out.println(a);
        else System.out.println(gcd(Math.abs(a), Math.abs(b)));
    
        sc.close();
    }
    

    }


  • 0
    hailuacx  đã bình luận lúc 13, Tháng 1, 2024, 9:29

    include <bits/stdc++.h>

    using namespace std;

    int main(){ int a, b; cin >> a >> b;

    while(b!=0){
        a=abs(a);
        b=abs(b);
        int tmp =a%b;
        a=b;
        b=tmp;
    }
    cout << a;
    return 0;
    

    }


  • 0
    toan0123  đã bình luận lúc 11, Tháng 1, 2024, 14:37

    test 3 là j v mn


    • 0
      lienhuetien01  đã bình luận lúc 29, Tháng 2, 2024, 10:38

      test 3 là 2 số có 1 số bằng 0 thì in số còn lại


  • 0
    Kha_ga_k29  đã bình luận lúc 1, Tháng 1, 2024, 5:44

    using System;

    namespace VL14TimUocChungLonNhatCuaAVaBBan2 {

    internal class Program
    {
        static void Main(string[] args)
        {
            string[] stringNum = Console.ReadLine().Split();
    
            int a, b;
    
            a = Math.Abs(int.Parse(stringNum[0]));
    
            b = Math.Abs(int.Parse(stringNum[1]));
            int max = 1;
            if (a > b)
            {
                if(a != 0 && b == 0)
                {
                    Console.Write(a);
                    return;
                }
    
                for (int i = 1; i <= b; i++)
                {
                    if (a % i == 0 && b % i == 0)
                        max = Math.Max(max, i);
                }
            }
            else
            {
                if(b != 0 && a == 0)
                {
                    Console.Write(b);
                    return;
                }
                for (int i = 1; i <= a; i++)
                {
                    if (a % i == 0 && b % i == 0)
                        max = Math.Max(max, i);
                }
            }
            Console.Write(max);
        }
    }
    

    } C# ^^


  • 0
    VoPhatDat  đã bình luận lúc 20, Tháng 12, 2023, 13:33

    def UCLN(a, b): if (a == 0 or b == 0): return max(a, b) else: while (a != b): if a > b: a-=b elif a < b: b-=a return max(a,b) a, b = map(int,input().split()) print(UCLN(abs(a),abs(b)))


  • 0
    hoclaptrinhc  đã bình luận lúc 10, Tháng 12, 2023, 13:51

    test 5 là a và b cùng bằng 0


    • 0
      dinhvantung0611  đã bình luận lúc 2, Tháng 1, 2024, 15:04

      chu y co ca truong hop a < 0 hoac b < 0 hoac ca a < 0, b < 0


    • 0
      datleyt29102005  đã bình luận lúc 16, Tháng 12, 2023, 16:39

      đề bài cho điều kiện a,b không đồng thời bằng 0 mà bạn


  • -1
    quangcha  đã bình luận lúc 6, Tháng 12, 2023, 3:43

    include <bits/stdc++.h>

    using namespace std; int ucln(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } int main() { int a,b; cin>>a>>b; a = abs(a); b = abs(b); int ucl = ucln(a,b); cout<<ucl; return 0; }


  • -1
    tungkq123  đã bình luận lúc 28, Tháng 11, 2023, 9:26

    mình nghĩ rằng nếu có 5 test case nên hiện cả 5 test case thì sẽ dễ hơn


  • -1
    Dark  đã bình luận lúc 25, Tháng 11, 2023, 7:51

    ai chỉ em cách để nhập số a hoặc b mà bằng 0 thì cho nó hoạt động bằng c++ với ạ. Em làm a = 0 hoặc b = 0 thì nó không chạy ạ! Mong anh chị chỉ giáo!


    • 0
      dinhvantung0611  đã bình luận lúc 2, Tháng 1, 2024, 15:05

      Tìm thuật toán tìm UCLN của Euler, bạn sẽ làm đc, chú ý a < 0, b < 0 hoặc cả 2 cùng < 0 nhé


    • 0
      dinhvantung0611  đã bình luận lúc 2, Tháng 1, 2024, 15:04

      bạn AC đc bài này chưa


  • -8
    Andrea  đã bình luận lúc 4, Tháng 9, 2023, 15:48

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -5
    ZaoZing  đã bình luận lúc 11, Tháng 8, 2023, 3:45

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    duong1012  đã bình luận lúc 21, Tháng 7, 2023, 14:33

    test 5 là gì thế mn


  • -28
    Bách  đã bình luận lúc 10, Tháng 7, 2023, 9:36

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.