- 问答
!!!
- 2025-7-13 15:01:20 @
#include #include #include using namespace std;
string add(string a, string b) { string res; int carry = 0; int i = a.size() - 1; int j = b.size() - 1;
while (i >= 0 || j >= 0 || carry) {
int numA = (i >= 0) ? a[i] - '0' : 0;
int numB = (j >= 0) ? b[j] - '0' : 0;
int sum = numA + numB + carry;
carry = sum / 10;
res.push_back('0' + (sum % 10));
if (i >= 0) i--;
if (j >= 0) j--;
}
reverse(res.begin(), res.end());
return res;
}
int main() { int n; cin >> n; if (n == 0) { cout << "1" << endl; return 0; } string a = "1"; string b = "1"; for (int i = 2; i <= n; i++) { string c = add(a, b); a = b; b = c; } cout << b << endl; return 0; }
0 条评论
目前还没有评论...