#include<iostream> #include<string> #include<cstring> #include<vector> #include<iomanip> #include<cstring> #include<cstdio> #include<cmath> using namespace std; string cal(string a, string b) { int len1 = a.size(); int len2 = b.size(); int carry = 0; if (len1 < len2) { string ss(len2 - len1, '0'); a = ss + a; } else if (len1 > len2) { string ss(len1 - len2, '0'); b = ss + b; } string s = a; for (int i = a.length() - 1;i >= 0;i--) { s[i] = (a[i] - '0' + b[i] - '0' + carry) % 10+'0'; carry= (a[i] - '0' + b[i] - '0' + carry) / 10; } if (carry != 0) s = '1' + s; return s; } int main() { string a[100]; while (cin >> a[0] >> a[1] >> a[2]) { for (int i = 3;i <= 99;i++) { a[i] = cal(cal(a[i - 1], a[i - 2]), a[i - 3]); } cout << a[99] << endl; } return 0; } |
Double click to view unformatted code.