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 của ~A~ nhưng không là ước của ~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~ ≤ 10^9~
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
18
Hint
- Các số nguyên dương là ước của ~15~ nhưng không là ước của ~25~ gồm: ~3~ và ~15~. Do đó tổng bằng ~18~.
Problem source: Chuyên Sơn La Online Judge
Bình luận
include <bits/stdc++.h>
using namespace std; long long tonguoc(long long n){ long long t=0,k=0; for(int i=1;i<=sqrt(n);i++){ if(n%i==0) t+=i+n/i; } k=sqrt(n); if(k*k==n) t-=k; return t; } long long a,b; int main() { cin>>a>>b; cout<<tonguoc(a)-tonguoc(__gcd(a,b)); return 0; }
cho mình hỏi test 10 là trường hợp nào v??
~???~
using namespace std;
int main() { int A,B; cin >>A>>B; int c=0;
}
thì sao vấn đề j à
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.