#include<iostream>
#include<vector>
#include<cstdlib>
#include <cassert>
using namespace std;
long long int LastDigitofSumofFibonacci(int n){long long int first=0;
     long long int second=1;
     long long int fibOfn;
     long long int sum=1;
     vector<long long int> V;
     V.push_back(first);
     V.push_back(second);
     if(n==0) return first;
     else if(n==1) return second;
     else{
        for(int i=2;i<60;i++){
            fibOfn=first+second;
            first=second;
            second=fibOfn;
            sum=sum+fibOfn;
            //cout<<"i "<<i<<" fibOfn "<<fibOfn<<" fibOfnlastdigit "<<fibOfnlastdigit<<" first "<<first<<" second "<<second<<" sum "<<sum;
            //cout<<endl;
            sum=sum%10;
            V.push_back(sum);
        }
    } 
    //for(auto element:V)
        //cout<<element<<" ";
        //cout<<endl;
    //cout<<(n)%60<<endl;
    return V[(n)%60];
}
int main(){
    int n;
    cin>>n;
    long long int Base=LastDigitofSumofFibonacci(n);
    cout<<Base<<endl;
}
In this I am trying to calculate the the last digit of Fibonacci series. I know and also read from net that last digit follow pattern of 60(0-59). from that concept wise I think my code is OK. but still I am unable to get the correct answers for large digit number.
 
     
    