Advertisement
Farjana_akter

Untitled

Jul 28th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. string fib[20000];
  5.  
  6. string addition(string s1,string s2)
  7. {
  8. if(s1.length()>s2.length())
  9. swap(s1,s2);
  10. int i,j,k,len1,len2,carry=0,sum=0;
  11. string ans="";
  12. reverse(s1.begin(),s1.end());
  13. reverse(s2.begin(),s2.end());
  14. len1=s1.length();
  15. len2=s2.length();
  16. for(i=0;i<len1;i++)
  17. {
  18. sum=(s1[i]-'0'+s2[i]-'0')+carry;
  19. ans.push_back(sum%10+'0');
  20. carry=sum/10;
  21. }
  22. for(i=len1;i<len2;i++)
  23. {
  24. sum=(s2[i]-'0')+carry;
  25. ans.push_back(sum%10+'0');
  26. carry=sum/10;
  27. }
  28. if(carry!=0)
  29. {
  30. ans.push_back(carry+'0');
  31. }
  32. reverse(ans.begin(),ans.end());
  33.  
  34.  
  35. return ans;
  36. }
  37.  
  38. string fibo(int n)
  39. {
  40. if(n==1 || n==2)
  41. return "1";
  42. if(fib[n]!="")
  43. return fib[n];
  44. return fib[n]=addition(fibo(n-1),fibo(n-2));
  45. }
  46.  
  47.  
  48. int main()
  49. {
  50. // freopen("in.txt","r",stdin);
  51. // freopen("out.txt","w",stdout);
  52. int n;
  53. while(cin>>n && n)
  54. {
  55. cout<<fibo(n*2)<<endl;
  56. }
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement