Nếu bạn nhập 123 thì kết quả trả về sẽ là 321
Ý tưởng
Mình sẽ nhập 1 số tự nhiên gồm 3 chữ số, ví dụ 123, để đảo ngược thì mình cần tách lấy hàng đơn vị, hàng chục và hàng trăm bằng cách chia lấy phần dư.
Lấy hàng đơn vị
123%10 = 3 (nghĩa là 123/10 = 12 dư 3, chúng ta sẽ lấy phần dư 3 đó qua toán tử chia lấy dư %)
Vậy là mình đã lấy được số đảo ngược thứ nhất.
Lấy hàng chục
Để lấy hàng chục thì chỉ cần chia số tự nhiên 3 chữ số đó cho 10 là chúng ta được số của hàng chục
123/10 = 12
Lấy kết quả hàng chục chia lấy dư là chúng ta lọc được số đảo ngược thứ 2.
12%10 = 2 (nghĩa là 12/10 = 1 dư 2, chúng ta sẽ lấy phần dư 2 đó qua toán tử chia lấy dư %)
Lấy hàng trăm
Số 123 có hàng trăm là 1, vậy để lấy được số 1 thì bạn lấy 12/10 = 1, sau đó mình chia lấy phần dư số 1 cho 10 để lấy số đảo ngược thứ 3.
1%10 = 1 (nghĩa là 1/10 = 0 dư 1, chúng ta sẽ lấy phần dư 1 đó qua toán tử chia lấy dư %)
Kết quả cuối cùng mình nhận được sẽ là: 321
Các bạn có thể các số khác như 056 chẳng hạn:
- 056%10 = 6 (056/10 = 5 dư 6)
- 056/10 = 5
- 5 %10 = 5 (5/10 = 0 dư 5)
- 5/10 = 0
- 0%10 = 0
Code
Code C++
#include <iostream> using namespace std; int main() { int n, a, b, c, d, e; cout<<"Nhap so co 3 chu so: "; cin>>n; a=n%10; b=n/10; c=b%10; d=b/10; e=d%10; cout<<"So dao nguoc la "<<a<<c<<e; return 0; }
Code C
#include <stdio.h> int main() { int n, a, b, c, d, e; printf("Nhap so co 3 chu so: "); scanf("%d", &n); a=n%10; b=n/10; c=b%10; d=b/10; e=d%10; printf("So dao nguoc la %d%d%d\n", a, c, e); return 0; }