Program ini mengambil integer dari pengguna dan integer itu dibalik.
Jika bilangan bulat terbalik sama dengan bilangan bulat yang dimasukkan oleh pengguna, maka angka itu adalah palindrom jika bukan angka itu bukan palindrom.
Contoh: Periksa Nomor Palindrome
#include
using namespace std;
int main()
{
int n, num, digit, rev = 0;
cout << "Enter a positive number: ";
cin >> num;
n = num;
do
{
digit = num % 10;
rev = (rev * 10) + digit;
num = num / 10;
} while (num != 0);
cout << " The reverse of the number is: " << rev << endl;
if (n == rev)
cout << " The number is a palindrome.";
else
cout << " The number is not a palindrome.";
return 0;
}
Keluaran
Enter a positive number: 12321 The reverse of the number is: 12321 The number is a palindrome.
Enter a positive number: 12331 The reverse of the number is: 13321 The number is not a palindrome.
Dalam program di atas, gunakan diminta untuk memasukkan angka positif yang disimpan dalam variabel num.
Nomor tersebut kemudian disimpan ke dalam variabel lain n untuk memeriksa ketika nomor asli telah dibalik.
Di dalam do ... while, digit terakhir nomor dipisahkan menggunakan kode digit = num % 10;
. Digit ini kemudian ditambahkan ke putaran variabel.
Sebelum menambahkan angka untuk putaran, pertama kita perlu melipatgandakan data saat ini di putaran variabel dengan 10 untuk menambahkan digit ke nth tempatkan di nomor tersebut.
Misalnya: di angka 123, 3 ada di nolth tempat, 2 dalam satuth tempat dan 1 dalam seratusth tempat.
Jadi, untuk menambah angka 4 setelah 123, kita perlu menggeser angka saat ini ke kiri, jadi sekarang 1 dalam ribuanth tempat, 2 dalam satuth tempat, 3 ada di satuthtempat dan 4 di nolth tempat.
Ini dilakukan dengan mudah dengan mengalikan 123 dengan 10 yang memberi 1230 dan menambahkan angka 4, yang memberikan 1234. Hal yang sama dilakukan dalam kode di atas.
Ketika loop do while akhirnya berakhir, kami memiliki angka terbalik putaran. Jumlah ini kemudian dibandingkan dengan nomor aslinya n.
Jika angkanya sama, angka aslinya adalah palindrom, jika tidak, maka tidak sama.