18/03/2025
Làm sao để có câu trả lời hay nhất?
18/03/2025
18/03/2025
18/03/2025
```cpp
#include <iostream>
#include <vector>
using namespace std;
// Hàm để tìm tất cả các ước nguyên dương của N
vector<long long> findDivisors(long long N) {
vector<long long> divisors;
for (long long i = 1; i * i <= N; ++i) {
if (N % i == 0) {
divisors.push_back(i);
if (i != N / i) {
divisors.push_back(N / i);
}
}
}
return divisors;
}
// Hàm để đếm số lượng ước chia hết cho ít nhất hai trong ba số A, B, C
int countDivisors(long long N, long long A, long long B, long long C) {
vector<long long> divisors = findDivisors(N);
int count = 0;
for (long long d : divisors) {
int divisibleCount = 0;
if (d % A == 0) divisibleCount++;
if (d % B == 0) divisibleCount++;
if (d % C == 0) divisibleCount++;
if (divisibleCount >= 2) {
count++;
}
}
return count;
}
int main() {
long long N, A, B, C;
cin >> N >> A >> B >> C;
int result = countDivisors(N, A, B, C);
cout << result << endl;
return 0;
}
```
18/03/2025
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
21/04/2025
21/04/2025
21/04/2025
Top thành viên trả lời