UOC2 - Tính tổng ước 2

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, PyPy, Python, Ruby, Rust, Scratch, Swift

Cho hai số nguyên dương ~A~ và ~B~. Tính tổng các số nguyên dương là ước chung của cả ~A~ và ~B~.

Input

  • Gồm một dòng duy nhất chứa hai số nguyên dương ~A~ và ~B~ được ghi cách nhau một dấu cách.

Giới hạn:

  • ~80\%~ số điểm có ~A,B≤10^6~;
  • ~20\%~ số điểm có ~10^6<A,B≤10^9~.</li>

Output

  • Một dòng duy nhất ghi số nguyên là đáp số bài toán.

Sample

Input #1
15 25
Output #1
6

Hint

  • Các số nguyên dương là ước chung của ~15~ và ~25~ là ~1~ và ~5~. Do đó tổng bằng ~6~.

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 0
    minhtai2013vn  đã bình luận lúc 3, Tháng 4, 2026, 12:44

    BIẾN S.......................ỤC


  • 0
    nhankiettvt  đã bình luận lúc 7, Tháng 1, 2026, 15:11

    CODE FULL AC CHO AE GIỐNG BÀI UOC1 NHỈ

    #include <bits/stdc++.h>
    using namespace std;
    using ll = long long;
    using ull = unsigned long long;
    
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int a,b; cin >> a >> b;
        int tong=0;
        for (int i = 1; i*i <= a;i++){
            if(a%i==0){
                if(b%i==0){
                    tong+=i;
                }
                if(a/i!=i && b%(a/i)==0){
                    tong+=a/i;
                }
            }
        }
        cout << tong;
        return 0;
    }