解析:递推。

详见代码:

#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;
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐