#include <bits/stdc++.h>
using namespace std;
int f(int a, int b) {
if (b == 0) {
return a;
}
return a + f(a, b - 1);
}
int main() {
int x, y;
cin >> x >> y;
int k = f(x, y);
cout << pow(k, 2) << endl;
}
对于此题,如果 b 为负,开 O2 时并不会无限递归(正常结束程序),但不开就会死循环,请问这题该怎么判。