一、题目描述
在征服南极之后,Davor 开始了一项新的挑战。下一步是在西伯利亚、格林兰、挪威的北极圈远征。他将在 2018 年 12 月 31 日开始出发,在这之前需要一共筹集 n 元钱。他打算在每个星期一筹集 x 元,星期二筹集 x+k 元,……,星期日筹集 x+6k 元,并在 52 个星期内筹集完。其中 x,k 为正整数,并且满足 1≤x≤100。
现在请你帮忙计算 x,k 为多少时,能刚好筹集 n 元。
如果有多个答案,输出 x 尽可能大,k 尽可能小的。注意 k 必须大于 0。
二、参考代码
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int x, k, n;
cin >> n;
n /= 52;
for (x = 100; x >= 1; x--) {
k = (n - 7 * x) / 21;
if (k > 0 && 21 * k + 7 * x == n) {
break;
}
}
cout << x << endl;
cout << k << endl;
return 0;
}