这段代码有两个地方出现了错误:

  1. 在内层循环中,条件'110001<=a[i+kn]'有误。该条件应该为'i+kn < 110001',表示数组'a'的索引不能越界。

  2. 在输出结果时,应该输出'a[k+mn-1]',而不是'a[k+mn-m]'。因为数组索引是从0开始的,所以需要将结果减去1。

以下是修改后的代码:

#include<iostream>
using namespace std;

int main()
{
    int n = 0, k = 0, m = 0;
    cin >> n >> k >> m;
    int a[110001];
    for (int i = 0; i <= n - 1; i++)
    {
        a[i] = i;
        for (int j = 1; i + j * n < 110001; j++)
            a[i + j * n] = a[i];
    }
    cout << a[k + m * n - 1];
    return 0;
}

现在,代码应该能够正确计算出大王的编号。

C++ 代码错误分析:大王编号计算

原文地址: https://www.cveoy.top/t/topic/Prg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录