Dạng bài rất hay gặp ở bài 1 của đề thi
% 10 và // 10n = int(input()) while n > 0: d = n % 10 print(d) n //= 10
2026 6 2 0 2
n % 10: lấy chữ số cuốin //= 10: bỏ chữ số cuối| Vòng | n đầu vòng | d = n % 10 | n sau //= 10 |
|---|---|---|---|
| 1 | 2026 | 6 | 202 |
| 2 | 202 | 2 | 20 |
| 3 | 20 | 0 | 2 |
| 4 | 2 | 2 | 0 → dừng |
n = int(input()) r = 0 while n > 0: r = r * 10 + n % 10 n //= 10 print(r)
| n | r |
|---|---|
| 1234 | 0 |
| 123 | 4 |
| 12 | 43 |
| 1 | 432 |
| 0 | 4321 |
r * 10 dịch r sang trái một chữ số, rồi thêm chữ số mới vào cuối.s = input() print(len(s)) print(s[0], s[-1]) print(s[::-1]) tong = 0 for c in s: tong += int(c) print(tong)
2026 4 2 6 6202 10
len(s): số chữ sốs[0]: chữ số đầu, s[-1]: chữ số cuốis[::-1]: đảo ngượcint(c): đổi một ký tự thành số| Cách | Khi nào dùng |
|---|---|
% 10 và // 10 | Rèn tư duy; đổi cơ số (nhị phân…); số đang được tính toán |
| Đổi thành xâu | Đề cho sẵn số, chỉ cần đếm / đảo / so sánh chữ số |
Input: số nguyên n (0 ≤ n ≤ 10¹⁸).
Output: tổng các chữ số của n.
| Input | Output |
|---|---|
2026 | 10 |
0 | 0 |
Input: số nguyên n (1 ≤ n ≤ 10¹⁸).
Output: số đảo ngược của n (bỏ các số 0 ở đầu).
| Input | Output |
|---|---|
1234 | 4321 |
1200 | 21 |
Số đối xứng là số đọc xuôi hay ngược đều như nhau.
Input: số nguyên n (0 ≤ n ≤ 10¹⁸).
Output: YES nếu n đối xứng, ngược lại NO.
| Input | Output |
|---|---|
12321 | YES |
2026 | NO |
7 | YES |
Input: số nguyên n (1 ≤ n ≤ 10¹⁸).
Output: chữ số lớn nhất của n và số lần nó xuất hiện.
| Input | Output |
|---|---|
39193 | 9 2 |
5 | 5 1 |
Số có k chữ số là số Armstrong nếu tổng lũy thừa bậc k các chữ số bằng chính nó.
Ví dụ: 153 = 1³ + 5³ + 3³
Input: n (1 ≤ n ≤ 10⁹). Output: YES / NO.
| Input | Output |
|---|---|
153 | YES |
9474 | YES |
100 | NO |
Input: số nguyên n (0 ≤ n ≤ 10¹⁸).
Output: biểu diễn nhị phân của n.
| Input | Output |
|---|---|
13 | 1101 |
0 | 0 |
bin. Gợi ý: giống bóc chữ số, nhưng chia cho 2 thay vì 10.while n > 0: d = n % 10 ... n //= 10
% 10 lấy chữ số cuối, // 10 bỏ chữ số cuốir = r * 10 + dlen(s), s[::-1], int(c)| Input bài 3 | Output |
|---|---|
1101 | 13 |