LH Quảng cáo: lazijsc@gmail.com

Bài tập  /  Bài đang cần trả lời

Vì một lí do đặc biệt gì đó, Raci đặc biệt thích số 9. Chính vì vậy, Ban định nghĩa một số số đẹp. Số đẹp là khi cộng các chữ số của nó lại với nhau thì ta được một chữ số có tận cùng là số 9

Vì một lí do đặc biệt gì đó, Raci đặc biệt thích số 9. Chính vì vậy, Ban định nghĩa một số số đẹp. Số đẹp là khi cộng các chữ số của nó lại với nhau thì ta được một chữ số có tận cùng là số 9.

 Cho số nguyên n  (~0<n<= 10^18~)
 Nếu n là số đẹp thì in ra YES,nếu không in ra NO
C++
2 trả lời
Hỏi chi tiết
8
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để kiểm tra xem số nguyên \( n \) có phải là số đẹp hay không, chúng ta sẽ thực hiện theo các bước sau:

1. **Tính tổng các chữ số của \( n \)**.
2. **Kiểm tra xem tổng các chữ số này có kết thúc bằng chữ số 9 hay không**.

Dưới đây là một đoạn mã C++ để hiện thực hóa điều này:

```cpp
#include

using namespace std;

// Hàm tính tổng các chữ số của một số nguyên n
long long sumOfDigits(long long n) {
long long sum = 0;
while (n > 0) {
sum += n % 10; // Thêm chữ số cuối vào tổng
n /= 10; // Xóa chữ số cuối
}
return sum;
}

int main() {
long long n;
cin >> n; // Nhập số nguyên n

long long digitSum = sumOfDigits(n); // Tính tổng các chữ số

// Kiểm tra xem tổng các chữ số có cực trị là số 9 không
if (digitSum % 10 == 9) {
cout << "YES" << endl; // Nếu có, in ra YES
} else {
cout << "NO" << endl; // Nếu không, in ra NO
}

return 0;
}
```

### Giải thích mã:
1. **Hàm `sumOfDigits`**: Nhận một số nguyên \( n \), tính tổng các chữ số của nó bằng cách lặp qua từng chữ số (bằng cách sử dụng phép chia và phép lấy dư) và cộng dồn lại.

2. **Trong hàm `main`**:
- Đọc vào số nguyên \( n \).
- Gọi hàm `sumOfDigits` để tính tổng.
- Kiểm tra xem tổng có chia hết cho 10 và kết quả có bằng 9 hay không, nếu có in ra "YES", ngược lại in ra "NO".

### Điều kiện đầu vào:
Mã này sử dụng kiểu dữ liệu `long long` để đảm bảo có thể lưu trữ các số lớn đến \( 10^{18} \). Mọi đầu vào đều được xử lý một cách an toàn trong phạm vi này.
1
0
Duy Lê
hôm qua
+5đ tặng
#include <bits/stdc++.h>
using namespace std;
int main() {
string n;
cin >> n; 
long long sum = 0; 
 for (char c : n) {
sum += c - '0'; 

if (sum % 10 == 9) {
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
return 0;
}

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
0
0
+4đ tặng
#include <bits/stdc++.h>
using namespace std;
int main() {
string n;
cin >> n; // Nhập số nguyên n dưới dạng chuỗi
int sum = 0; // Biến để lưu tổng các chữ số
// Duyệt qua từng chữ số trong chuỗi n và tính tổng
for (char c : n) {
sum += c - '0'; // 'c - '0' để chuyển ký tự thành số nguyên
}
// Kiểm tra tổng các chữ số có tận cùng là 9 hay không
if (sum % 10 == 9) {
cout << "YES\n";
} else {
cout << "NO\n"; } return 0;

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Bài tập Lập trình Lớp 8 mới nhất
Trắc nghiệm Lập trình Lớp 8 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư