Saturday, July 8, 2017

Easy Sequence Toph Problem Logic And Solution

https://toph.co/p/easy-sequence-1

Easy Sequence ,Toph Problem Solution .

প্রথমে ,প্রোবলেম'টির বেইস কেস হিসাব করতে হবে ,
F(1) = 1;

তারপর নিচের সূত্র এর দিকে নজর দিতে হবে 

F(2X) = F(X)2 + 1
F(2X+1) = F(X) * F(X+1) + 2

 F(2*1) = F(2) =  F(1)*F(1)+1 = 1*1 + 1 == 2; // Base Case F(1)=1;

F(2*1+1) = F(3) =  F(1)*F(1+1) = 1*2+2 == 4;// Base case F(1) = 1, Got F(2)=2 above line ;

এখন আপনাকে , দেয়া থাকবে - ডান দিকের মানগুলি এবং আপনাকে বলতে হবে এটা F এর কততম
ফাংশনের মান ??

যেমন , যদি ইনপুট দেয়া থাকে 4 তাহলে , আপনি উপরে দেখেই বুঝতে পারছেন যে- এটা , F(3) এর মান
সুতরাং উত্তর হবে 3 এটা বের করার জন্য ,একটা লুপ খাটিয়ে কাজ করতে হবে ।

আরো ভালো ,বুঝার জন্য - কোড'টি দেখুন //


#include<bits/stdc++.h>

using namespace std;



int main()

{

     long long dp[100],x;
     memset(dp,0,sizeof(dp));
     dp[0]=-1;
     dp[1]=1; 
     dp[2]=2;
     for(int i=1;i<=90/2;i++)
     {
         dp[2*i]=dp[i]*dp[i]+1;
         dp[(2*i)+1]=dp[i]*dp[i+1]+2;
     }
     int t,k=1;
     cin>>t;
     while(t--)
     {
         cin>>x;
         cout<<"Case "<<k<<": ";
         for(int i=0;i<=100;i++)
         {
             if(x==dp[i])
             {
                 cout<<i<<endl;
                 break;
             }
         }
         k++;
     }
    return 0;
}

No comments:

Post a Comment