Program to find first N Iccanobif Numbers in C++

In this tutorial, we will be discussing a program to find N lccanobif numbers.

For this we will be provided with an integer. Our task is to find the lccanobif number at that position. They are similar to the fibonacci number except the fact that we add the previous two numbers after reversing their digits.

Example

Live Demo

#include <bits/stdc++.h>
using namespace std;
//reversing the digits of a number
int reverse_digits(int num){
int rev_num = 0;
while (num > 0) {
rev_num = rev_num * 10 + num % 10;
num = num / 10;
}
return rev_num;
}
//printing the first N lccanobif numbers
void icanobifNumbers(int N){
int first = 0, second = 1;
if (N == 1)
cout << first;
else if (N == 2)
cout << first << " " << second;
else {
cout << first << " " << second << " ";
for (int i = 3; i <= N; i++) {
int x = reverse_digits(first);
int y = reverse_digits(second);
cout << x + y << " ";
int temp = second;
second = x + y;
first = temp;
}
}
}
int main(){
int N = 12;
icanobifNumbers(N);
return 0;
}

Output

0 1 1 2 3 5 8 13 39 124 514 836