0

我一直在尝试将一组嵌套循环转换为一个方程,需要一些帮助。

计算我的序列的代码如下:

`

int Astart = 1;
int Bstart = 1;
int Cstart = 1;
int Dstart = 1;

int Ai = 6;
int Bi = 2;
int Ci = 3;
int Di = 4;

int A,B,C,D = 0;

int i=0;
for(int a=Astart;a<Astart+Ai; a++)
{
    for(int b=Bstart;b<Bstart+Bi; b++)
    {
        for(int c=Cstart;c<Cstart+Ci;c++)
        {
            for(int d=DStart;d<Dstart+Di;d++)
            {
                std::cout << "[" << i << "]" << a << " " << b << " " << c << " " << d << std::endl;
                i++;
            }
        }
    }
}

`

我需要做的就是让一个 for 循环运行排列的数量来复制嵌套循环的行为。IE

for(int i=0; i<(Ai*Bi*Ci*Di); i++)
{

<Insert equations here!>

}

我真正想要的是一个函数,它在序列中取一个整数,并根据变量 Ai、Bi、Ci、Di 和 Astart、Bstart、Cstart、Dstart 计算 A、B、C 和 D 的值。

此外,这个系统依赖于嵌套循环的顺序,有没有一种方法不依赖于顺序来获取值 A、B、C、D?

任何帮助都会很棒,

谢谢,

克里斯。

4

2 回答 2

3

使用除法 ( /) 和余数 ( %) 运算符。

93 / 10 = 9
93 % 10 = 3

...

于 2012-07-04T22:04:18.917 回答
0

变量ABCD始终为零,因为您将它们初始化并且不再使用它们。

于 2012-07-04T22:09:09.437 回答