Viết chương trình C++ nhập vào số nguyên dương n từ bàn phím(n<1000000000). Hãy in ra số nguyên lớn nhất nhỏ hơn n có tổng các chữ số bằng 10

thumb up 0
thumb down
Trả lời câu hỏi của Nguyễn Thị Yến Nhi

Làm sao để có câu trả lời hay nhất?

  • Luôn có GIẢI THÍCH các bước giải
  • Không copy câu trả lời của Timi
  • Không sao chép trên mạng
  • Không spam câu trả lời để nhận điểm
  • Spam sẽ bị khóa tài khoản
CÂU TRẢ LỜI
avatar
Timi

09/01/2025

Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Dưới đây là một chương trình C++ để nhập vào số nguyên dương `n` và in ra số nguyên lớn nhất nhỏ hơn `n` có tổng các chữ số bằng 10: ```cpp #include <iostream> using namespace std; // Hàm tính tổng các chữ số của một số nguyên int sumOfDigits(int number) { int sum = 0; while (number > 0) { sum += number % 10; number /= 10; } return sum; } int main() { int n; cout << "Nhap vao so nguyen duong n (n < 1000000000): "; cin >> n; // Kiểm tra điều kiện n if (n <= 0 || n >= 1000000000) { cout << "So nhap vao khong hop le!" << endl; return 1; } // Tìm số nguyên lớn nhất nhỏ hơn n có tổng các chữ số bằng 10 for (int i = n - 1; i >= 0; i--) { if (sumOfDigits(i) == 10) { cout << "So nguyen lon nhat nho hon " << n << " co tong cac chu so bang 10 la: " << i << endl; return 0; } } cout << "Khong tim thay so thoa man!" << endl; return 0; } ``` ### Giải thích chương trình: 1. **Hàm `sumOfDigits(int number)`**: Hàm này tính tổng các chữ số của một số nguyên. 2. **Hàm `main()`**: - Nhập vào số nguyên dương `n` từ bàn phím. - Kiểm tra xem `n` có hợp lệ hay không (n > 0 và n < 1000000000). - Sử dụng vòng lặp `for` để tìm số nguyên lớn nhất nhỏ hơn `n` có tổng các chữ số bằng 10. Nếu tìm thấy, in ra số đó và kết thúc chương trình. - Nếu không tìm thấy số nào thỏa mãn, in ra thông báo tương ứng. Bạn có thể biên dịch và chạy chương trình này để kiểm tra kết quả.
Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
avatar
level icon
ĐàoLyLyhg1

09/01/2025

```cpp
#include <iostream>
using namespace std;

// Hàm tính tổng các chữ số của một số nguyên
int sumOfDigits(int number) {
int sum = 0;
while (number > 0) {
sum += number % 10;
number /= 10;
}
return sum;
}

int main() {
int n;
cout << "Nhap vao so nguyen duong n (n < 1000000000): ";
cin >> n;

// Kiểm tra điều kiện n
if (n <= 0 || n >= 1000000000) {
cout << "So nhap vao khong hop le!" << endl;
return 1;
}

// Tìm số nguyên lớn nhất nhỏ hơn n có tổng các chữ số bằng 10
for (int i = n - 1; i >= 0; i--) {
if (sumOfDigits(i) == 10) {
cout << "So nguyen lon nhat nho hon " << n << " co tong cac chu so bang 10 la: " << i << endl;
return 0;
}
}

cout << "Khong tim thay so thoa man!" << endl;
return 0;
}
```
 

Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận

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

Ảnh ads

CÂU HỎI LIÊN QUAN

FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved