我一直在尝试将一组嵌套循环转换为单个方程式,需要一些帮助。
计算我的序列的代码如下:
`
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循环运行多个排列来复制嵌套循环的行为。即。
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?
任何帮助都会很棒,
谢谢,
克里斯。
答案 0 :(得分:3)
使用除法(/
)和余数(%
)运算符。
93 / 10 = 9
93 % 10 = 3
...
答案 1 :(得分:0)
变量A
,B
,C
和D
始终为零,因为您初始化它们并且从不再使用它们。