算法
(暴力枚举)
注意到这个序列的增长率比较快,项数会比较少,所以我们直接枚举 $N$ 的前一项即可。
C++ 代码
#include <bits/stdc++.h>
using std::cin;
using std::cout;
int main() {
int n;
cin >> n;
int x = 0, y = n;
for (int i = 1; i < n; ++i) {
int cur = n, pre = i;
while (true) {
if (cur + pre < x + y or (cur + pre == x + y and pre < x)) {
x = pre;
y = cur;
}
int d = cur - pre;
cur = pre;
pre = d;
if (d < 0) break;
}
}
cout << x << " " << y << '\n';
return 0;
}