虚心请教,我遇到了一个问题,水平有限,困扰我好几天了:
有9个嵌套的for循环,每个for循环各循环100次,最里面是一个封装好的函数,该函数输入为数组,输出为Z。我需要遍历计算所有的Z值,再取其最小值。PS:已知该函数的输入和输出非线性关系,所以尽量全部计算。
代码:C#
int[] X = new int[10];
int Z = 0;
int Min = 10000;
for(int i1 = 0;i1<100;i1++)
{
X[0] = I1;
for(int i2 = 0;i2<100;i2++)
{
X[1] = i2;
//多层嵌套省略
........................
for(int i9 = 0;i9<100;i9++)
{
X[8] = i9 ;
X[9] = 100 - i1 -i2 -i3 - i4 - i5 - i6 - i7 - i8 - i9;
Z = Function(X);
if(Z < Min) Min = Z;
}
}
}
```c#
请问:
1.由于Function函数的输入和输出不是呈线性关系,有没有其它算法可以优化,从而减少计算量?
2.如果在必须要暴力全部计算Z值的前提下,可以采取何种方法加快运算速度,减少等待时间?