for (float m = 2000; m < 3000; m += 1)
{
for (float i = 2000; i < 3000; i += 1)
{
for (float j = 5500; j < 6500; j += 1)
{
for (float k = 250; k < 450; k += 1)
{
//目标是遍历求最优解
calWithParam(m, i, j, k, globalResult);
}
}
}
}
说明一下,calWithParam是一个函数,通过这个函数得到的结果跟已有的值作比较,得到跟目标尽可能贴合的值。 再具体就是说,比如10个不同高度对应的体积是测量出来的,要求的就是把这个函数计算出来的体积(跟高度相关的list)跟已有的不同高度的体积做比较,使结果尽可能跟测出来的体积对应。
那这个m,i,j,k就是想要的参数
反正for里啥都没有,全部删掉就快了
都不知道你要什么结果,怎么优化?如果按照你发出来的优化,那就是什么都不用直接删掉即可。
根据题意,m, i, j, k之间应有某种关系,题主应该考虑用其他算法代替当前的4层for循环,现在的时间复杂度是O(n^4),应该考虑换一种思路
//for (float m = 2000; m < 3000 ; m ++)
// {
// for (float i = 2000; i < 3000; i ++)
// {
// for (float j = 5500; j < 6500; j ++)
// {
// for (float k = 250; k < 450; k ++)
// {
// //计算程序,耗时1.5-2.5秒
//
//}
//
//}
//
//}
//
//}