C++ 如何编写一个程序来打印特定基数的前N个数字?

C++ 如何编写一个程序来打印特定基数的前N个数字?,c++,visual-studio,C++,Visual Studio,我不明白这个问题。我们在这里发现了什么 这里提供了一些附加细节: 打印特定基数的前N个数字: 基数10中的数字11= 1*(10^1)+1*(10^0)=11 同样,基数7中的数字11= 1*(7^1)+1*(7^0)=8 为了您的理解,我在网上找到了这个解决方案,但我无法理解它 {int trm, bs, r, q, i, num; cout << " Input the number of term: "; cin >> trm; cout <

我不明白这个问题。我们在这里发现了什么

这里提供了一些附加细节:
打印特定基数的前N个数字: 基数10中的数字11=
1*(10^1)+1*(10^0)=11
同样,基数7中的数字11=
1*(7^1)+1*(7^0)=8

为了您的理解,我在网上找到了这个解决方案,但我无法理解它

{int trm, bs, r, q, i, num;
 cout << " Input the number of term: ";
    cin >> trm;
    cout << " Input the base: ";
    cin >> bs;
    cout << " The numbers in base " << bs << " are: " << endl;
    for (i = 1; i <= trm; i++) 
    {
        r = i % bs;
        q = i / bs;
        num = q * 10 + r;
        cout << num << "  ";
    }
    cout << endl;
}
我不熟悉编码。一切帮助都将不胜感激

{int trm, bs, r, q, i, num;
这声明了变量

 cout << " Input the number of term: ";
    cin >> trm;
    cout << " Input the base: ";
    cin >> bs;
    cout << " The numbers in base " << bs << " are: " << endl;
cout>trm;
cout>bs;

cout
r=i%bs查找余数(可确保余数在0到6之间);
q=i/bs查找第十个值需要多少个“7”。
num=q*10+r用于计算基数7中的值。
此函数可能会一直工作到第489项。
如果你想做额外的工作,你可以查看

if(i > 489)
{
    y = i / (bs*bs);
    num = y*100 + q*10 + r;
}
    for (i = 1; i <= trm; i++) 
    {
        r = i % bs;
        q = i / bs;
        num = q * 10 + r;
        cout << num << "  ";
    }
    cout << endl;
}
if(i > 489)
{
    y = i / (bs*bs);
    num = y*100 + q*10 + r;
}