Implementation of the 196-algorithm to find palindromes in an iteratively computed number sequence.
Inspired by https://www.youtube.com/watch?v=bN8PE3eljdA&t=374s
git clone https://github.com/NumericalMax/196-algorithm.git
cd 196-algorithm
g++ main.cpp -o main
./main
Given a number n we iteratively reassign to n the sum of n and the reverse of n until n is a palindrome.
Example Given:
n = 19 // no palindrome, iteration = 0
n = 19 + 91 = 110 // no palindrome, iteration = 1
n = 110 + 11 = 121 // palindrome, iteration = 2
Note, that n is of type int. This can result in exceeding the allocated storage size for larger n or higher iterations. To prevent, you can set the datatype to long or a much larger datatype.
Number | Iterations | Final palindrome |
---|---|---|
1 | 0 | 1 |
2 | 0 | 2 |
3 | 0 | 3 |
4 | 0 | 4 |
5 | 0 | 5 |
6 | 0 | 6 |
7 | 0 | 7 |
8 | 0 | 8 |
9 | 0 | 9 |
10 | 1 | 11 |
11 | 0 | 11 |
12 | 1 | 33 |
13 | 1 | 44 |
14 | 1 | 55 |
15 | 1 | 66 |
16 | 1 | 77 |
17 | 1 | 88 |
18 | 1 | 99 |
19 | 2 | 121 |
20 | 1 | 22 |