Advertisement
Farjana_akter

Untitled

Aug 7th, 2020
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4.  
  5. string add(string s1,string s2)
  6. {
  7. int i,j,k,sum=0,carry=0,len1,len2;
  8. string ans="";
  9. if(s1.length()>s2.length())
  10. swap(s1,s2);
  11. reverse(s1.begin(),s1.end());
  12. reverse(s2.begin(),s2.end());
  13. len1=s1.length();
  14. len2=s2.length();
  15. for(i=0;i<len1;i++)
  16. {
  17. sum=(s1[i]-'0' + s2[i]-'0')+carry;
  18. ans.push_back(sum%10 + '0');
  19. carry=sum/10;
  20. }
  21. for(i=len1;i<len2;i++)
  22. {
  23. sum=(s2[i]-'0')+carry;
  24. ans.push_back(sum%10 + '0');
  25. carry=sum/10;
  26. }
  27. if(carry)
  28. {
  29. ans.push_back(carry + '0');
  30. }
  31. reverse(ans.begin(),ans.end());
  32. return ans;
  33. }
  34.  
  35. bool check1(string fib,string a)
  36. {
  37. if(fib.size()<a.size())
  38. return false;
  39. if(fib.size()>a.size())
  40. return true;
  41. if(fib>=a)
  42. return true;
  43. return false;
  44. }
  45.  
  46. bool check2(string fib,string a)
  47. {
  48. if(fib.size()<a.size())
  49. return false;
  50. if(fib.size()>a.size())
  51. return true;
  52. if(fib>a)
  53. return true;
  54. return false;
  55. }
  56.  
  57.  
  58. int main()
  59. {
  60. string fibs[1005];
  61. fibs[1]="1";
  62. fibs[2]="2";
  63. for(ll i=3;i<1000;i++)
  64. {
  65. fibs[i]=add(fibs[i-1],fibs[i-2]);
  66. }
  67. string a,b;
  68. while(cin>>a>>b)
  69. {
  70. if(a=="0" && b=="0")
  71. break;
  72. ll low,hi;
  73. for(ll i=1;i<1000;i++)
  74. {
  75. if(check1(fibs[i],a)==true)
  76. {
  77. low=i;
  78. break;
  79. }
  80. }
  81. for(ll i=1;i<1000;i++)
  82. {
  83. if(check2(fibs[i],b)==true)
  84. {
  85. hi=i;
  86. break;
  87. }
  88. }
  89. cout<<hi-low<<endl;
  90. }
  91. return 0;
  92. }
  93.  
  94.  
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement