解析:递推。
详见代码:
#include <bits/stdc++.h>
using namespace std;
int n, i;
int main() {
cin >> n >> i;
for(int j = 1; true; j++) { //枚举最后一只小猫拿走的鱼
bool flag = 1; //假设n只小猫都成功的分到了鱼
int ans = j * n + i; //最后一只小猫拿之前的鱼
for(int k = 2; k <= n; k++) { //从到数第2只到第一只
if (ans % (n - 1) == 0) { //如果符合条件
ans = ans / (n - 1) * n + i; //算出拿之前的鱼数量
} else {//不符合条件
flag = 0;
break;//进行下一次循环
}
}
if (flag == 1) { //如果成功
cout << ans; //输出答案
return 0;
}
}
return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36230375/article/details/134918028