làm giúp mik 2 bài lập trình C++

làm giúp mik 2 bài lập trình C++
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
Bài 3: Chương trình tìm chữ số xuất hiện nhiều nhất trong một số nguyên dương N.

```cpp
#include
#include
using namespace std;

int main() {
long long N;
cout << "Nhap so nguyen duong N: ";
cin >> N;

vector count(10, 0); // Mảng để đếm số lần xuất hiện của mỗi chữ số từ 0 đến 9
while (N > 0) {
int digit = N % 10; // Lấy chữ số cuối cùng
count[digit]++; // Tăng số lượng xuất hiện của chữ số này
N /= 10; // Bỏ chữ số cuối cùng
}

int max_count = 0;
int max_digit = -1;

for (int i = 0; i < 10; i++) {
if (count[i] > max_count) {
max_count = count[i];
max_digit = i;
}
}

cout << "Chu so xuat hien nhieu nhat trong so: " << max_digit << " la: " << max_count << endl;

return 0;
}
```

Giải thích:
- Đầu tiên, chương trình yêu cầu người dùng nhập vào một số nguyên dương N.
- Sau đó, nó sử dụng một mảng `count` để đếm tần suất xuất hiện của từng chữ số từ 0 đến 9.
- Chương trình lặp lại cho đến khi N trở thành 0, mỗi lần lấy chữ số cuối và cập nhật vào mảng `count`.
- Sau khi hoàn thành, nó tìm chữ số có số lần xuất hiện nhiều nhất và in kết quả.

Bài 4: Chương trình tìm cặp số nguyên tố có tổng bằng N.

```cpp
#include
#include
using namespace std;

// Hàm kiểm tra số nguyên tố
bool isPrime(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}

int main() {
int N;
cout << "Nhap so tu nhien N (4 <= N <= 998): ";
cin >> N;

pair best_pair = {-1, -1}; // Cặp số nguyên tố tốt nhất
for (int i = 2; i <= N / 2; i++) {
if (isPrime(i)) {
int j = N - i;
if (isPrime(j)) {
if (best_pair.first == -1 || (i < best_pair.first && j < best_pair.second)) {
best_pair = {i, j};
}
}
}
}

if (best_pair.first != -1) {
cout << "Cac so nguyen to co tong bang N: " << best_pair.first << " " << best_pair.second << endl;
} else {
cout << "Khong tim thay cặp số nguyên tố nào!" << endl;
}

return 0;
}
```

Giải thích:
- Chương trình bắt đầu bằng cách yêu cầu người dùng nhập vào số nguyên N.
- Nó định nghĩa hàm `isPrime` để kiểm tra xem một số có phải là số nguyên tố hay không.
- Sau đó, chương trình lặp từ 2 đến N/2 để tìm các cặp số nguyên tố (i, j) sao cho i + j = N.
- Nếu tìm thấy cặp nào thoả mãn, nó sẽ lưu lại cặp số nhỏ hơn.
- Cuối cùng, chương trình in ra cặp số nguyên tố có tổng bằng N nếu tồn tại.
Đăng phản hồi