/* Author:Sepehr Mohammadi-mohamadi-sepehr.blog.ir */ #include <iostream> using namespace std; string Add(string, string); int main() { string f1 = "1", f2 = "0", temp; int i = 1; while (f1.length() < 1000) { temp = Add(f1,f2); f2 = f1; f1 = temp; i++; } cout<<i<<endl; system("Pause"); } string Add(string p, string q) { string answer = ""; int digit1, digit2, result, carry = 0; if (q.length() > p.length()) { int difference = q.length() - p.length(); for(int i = 0; i < difference; i++) p = '0' + p; } if (q.length() < p.length()) { int difference = p.length() - q.length(); for(int i = 0; i < difference; i++) q = '0' + q; } for (int i = p.length() - 1; i >= 0; i--) { digit1 = int(p[i]) - 48; digit2 = int(q[i]) - 48; result = digit1 + digit2 + carry; if (result >= 10) { carry = result / 10; result = result % 10; } else carry = 0; answer = char(result + 48) + answer; } if (carry != 0) answer = char(carry + 48) + answer; return answer; } /* Author:Sepehr Mohammadi-mohamadi-sepehr.blog.ir */