-
-
-
- Lớp 2
- Tự nhiên và xã hội
- Tiếng việt
- Toán học
- Tiếng Anh
- Đạo đức
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 4
- Khoa học
- Tiếng việt
- Toán học
- Đạo đức
- Tiếng Anh
- Lịch sử và Địa lí
- Công nghệ
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 5
- Khoa học
- Toán học
- Tiếng việt
- Tin học
- Tiếng Anh
- Đạo đức
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- Lớp 6
- Công nghệ
- Tin học
- Lịch sử và Địa lí
- GDCD
- Ngữ văn
- Toán học
- Khoa học tự nhiên
- Tiếng Anh
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 7
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Lịch sử và Địa lí
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Âm nhạc
- Lớp 8
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Ngữ văn
- Khoa học tự nhiên
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 9
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Lịch sử và Địa lí
- Lớp 10
- Hóa học
- Tiếng Anh
- Lịch sử
- Sinh học
- Địa lí
- Vật lí
- Tin học
- Toán học
- GD kinh tế và pháp luật
- Công nghệ
- Ngữ văn
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- GD Quốc phòng và An ninh
- Lớp 11
- Hóa học
- Tiếng Anh
- Vật lí
- Tin học
- Toán học
- Địa lí
- Công nghệ
- Lịch sử
- Ngữ văn
- Sinh học
- GD Thể chất
- GD Quốc phòng và An ninh
- GD kinh tế và pháp luật
- HĐ trải nghiệm, hướng nghiệp
-
-
- KHÁM PHÁ
-
-
-
-
-
-
-
-
- FAVORITES
-
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.
```cpp
#include
#include
using namespace std;
int main() {
long long N;
cout << "Nhap so nguyen duong N: ";
cin >> N;
vector
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
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
© 2025 Học Tốt Online - Chia Sẻ Tài Liệu Học Tập và Giải Bài Tập Miễn Phí
Vietnamese
