Sunday, August 20, 2017

DCP-138: The Last Fibonacci Devskill Problem Solution & Logic

https://www.devskill.com/CodingProblems/ViewProblem/138

এটা নাম্বার থিওরি'র মজার একটা প্রোবলেম , একটু ম্যাথমেটিক্যাল ব্যপারস্যাপার আর কি । ।   এখন ঘটনা হইলো গিয়া , তোমারে একটা নাম্বার দেয়া থাকবে - তোমায় তততম ফিবোনাচ্চি নাম্বার এর লাস্ট ডিজিট প্রিন্ট করতে হবে । এখন মনে রাখতে হবে , একটা ব্যপার যে ----  ১ থেকে ৫৯ অবদি , ফিবোনাচ্চি নাম্বার এর লাস্ট ডিজিট গুলো , ৬০ থেকে পরবর্তী ৫৯ টি ফিবোনাচ্চি নাম্বার অবদি রিপিট হয় , এটা ফিবোনাচ্চি নাম্বার এর একটা গুণ , তুমি বলতে পারো , না হলে - এই প্রোবলেম'টা সলভ করতে আমাদের অনেক হিমশিম খেতে হতো । । যাই হোক , তাইলে আমরা যদি , ৫৯ অব্দি ফিবোনাচ্চি জেনারেট করতে পারি , তাইলেই হয়ে যাবে । । চলো কোড দেখে নেই চলো ------

#include <bits/stdc++.h>

#define ll long long

ll a[60];

void fibo()

    {
        int i;
       
        a[0]=0;
       
        a[1]=1;
       
        for(i=2;i<=59;i++)a[i]=a[i-1]+a[i-2];
    }
   
int main()

    {
        fibo();
       
        int x,n,p;
       
        scanf("%d",&x);
       
     for (int i=1;i<=x;i++)          
            {
               
            scanf("%d",&n);
           
            if(n>=60)n%=60;
           
            printf("Case %d: %lld is the last digit.\n",i,a[n]%10);
        }
       
        return 0;
}

No comments:

Post a Comment