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 এটা বের করার জন্য ,একটা লুপ খাটিয়ে কাজ করতে হবে ।
আরো ভালো ,বুঝার জন্য - কোড'টি দেখুন //
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