Ước số chung lớn nhất (Khó)

Xem PDF



Tác giả:
Dạng bài
Điểm: 100 Thời gian: 1.0s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Số nguyên dương \(p\) gọi là ước số chung lớn nhất của \(a\)\(b\) khi \(a\)\(b\) cùng chia hết cho \(p\)\(p\) là lớn nhất.

Viết chương trình nhập vào một số nguyên dương \(a,b\) \((min(a,b) \leq 10^{12})\).

Hãy in ra ước số chung lớn nhất của \(a\) 𝑣à \(b\).

Input

  • Nhập \(2\) số nguyên dương \(a,b\).

Output

  • In ra ước số chung lớn nhất của chúng.

Example

Test 1

Input
54 72 
Output
18

Bình luận


  • 0
    haixoai12    4:49 p.m. 26 Tháng 10, 2024

    include<bits/stdc++.h>

    include<cmath>

    using namespace std;
    long long a,b;
    int main()
    {
    cin>>a>>b;
    cout<<__gcd( a, b);
    }


    • -1
      sondang0914    8:53 p.m. 23 Tháng 10, 2024

      include<bits/stdc++.h>

      using namespace std;
      long long ucln(long long a, long long b)

      {
      while (a>0&&b>0)
      {
      if(a>b) a=a-b;
      else b=b-a;
      }
      if(a==0) return b;
      return a;
      }

      int main()
      {
      long long a,b;
      cin>>a>>b;
      cout<<ucln(a,b);

      }

      c++17


      • -5
        SBD06_buivanhieuYT    8:56 a.m. 12 Tháng 8, 2024

        Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


        • -1
          vietnammuonnam_mvn    5:55 p.m. 27 Tháng 7, 2024 đã chỉnh sửa

          from math import gcd
          print(gcd(*map(int, input().split())))
          code này acc 100%


          • -3
            Avocadorable    11:56 a.m. 30 Tháng 5, 2024
            from math import gcd
            print(gcd(*map(int, input().split())))
            

            • -1
              kay    8:20 p.m. 9 Tháng 4, 2024

              import math
              n,m = map(int,input().split())
              print(math.gcd(n,m))


              • -2
                BL7A23_KhuyếnĐX    8:48 p.m. 18 Tháng 1, 2024

                hình như cái test 5 hay test 6 của cái này sai hay sao í, output ra 111111111111 đúng mà

                1 phản hồi

                • -37
                  minhkhoidepzai    3:44 p.m. 29 Tháng 11, 2020 đã chỉnh sửa

                  Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

                  1 phản hồi

                  • 19
                    SPyofgame    9:13 p.m. 7 Tháng 6, 2020

                    Spoiler Alert

                    Hint 1:

                    Gọi gcd(a, b) là ước chung lớn nhất của ab

                    gcd(a, a) = gcd(0, a) = gcd(a, 0) = a

                    gcd(a, b) = gcd(b, a) = gcd(|a - b|, b)

                    Hint 2

                    gcd(a, b) = gcd(b, a % b)

                    Reference

                    C++
                    template<typename T> inline T gcd(T a,T b) { while (b != 0) swap(b, a %= b); return a; }
                    
                    1 phản hồi