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, 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

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



  • 2
    hohoanghai5042011  đã bình luận lúc 1, Tháng 1, 2024, 5:25

    include<bits/stdc++.h>

    using namespace std; int main() { long long a,b,i,s=0; cin>>a>>b; for(i=1;i<=sqrt(a);i++) { if(a%i==0&& b%i==0) s+=i; if(a%i==0&& b%(a/i)==0) s+=a/i; } if(int(sqrt(a))==sqrt(a)) if(b%int(sqrt(a))!=0) s=s-int(sqrt(a)); cout<<s; return 0; } full ac ạ cho em xin 1 vote nhé


  • 0
    trieutungvp123  đã bình luận lúc 14, Tháng 10, 2023, 8:59

    testcase cuoi la gi v mn