#include<iostream> #include<string> using namespace std; string jia(string s1, string s2) { if (s1.size() > s2.size())swap(s1, s2); int len = s2.size() - s1.size(); for (int i = 0; i < len; i++) s1 = '0' + s1; int k = 0; for (int i = s1.size() - 1; i >= 0; i--) if (s1[i] + s2[i] - 2 * '0' + k < 10) { s1[i] = s1[i] + s2[i] - '0' + k; k = 0; } else { s1[i] = s1[i] + s2[i] - '0' + k - 10; k = 1; } if (k)s1 = '1' + s1; return s1; } int main() { string s[3]; while (cin >> s[0] >> s[1] >> s[2]) { int i = 0; for (; i < 97; i++) s[i % 3] = jia(s[i % 3], jia(s[(i + 1) % 3], s[(i + 2) % 3])); cout << s[--i % 3] << endl; } } |
Double click to view unformatted code.