
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find Last Digit of N-th Fibonacci Number in C++
In this problem, we are given a number N. Our task is to create a Program to find last digit of Nth Fibonacci number in C++.
Problem Description
We need to find the last digit (i.e. LSB ) of the Nth Fibonacci number.
Let’s take an example to understand the problem,
Input: N = 120 Output: 1
Solution Approach
A simple solution will be using the direct Fibonacci formula to find the Nth term. But this method will not be feasible when N is a large number. So to overcome this thing, we will use the property of the Fibonacci Series that the last digit repeats itself after 60 terms. I.e. The last digit of the 75th term is the same as that of the 135th term.
This means that working till 60 will give us all possible combinations and to find which term to use we will find the number’s mod with 60.
Example
#include using namespace std; long int fibo(int N){ long int a=0,b=1,c; for(int i=2; i< N;i++) { c=a+b; a=b; b=c; } return c; } int findLastDigitNterm(int N) { N = N % 60; return ( fibo(N)%10); } int main() { int N = 683; cout<<"The last digit of "<<N<<"th Fibonacci term is "<<findLastDigitNterm(N); return 0; }
Output
The last digit of 683th Fibonacci term is 1