Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将n个值相加,在Powershell中得到x_Arrays_Powershell - Fatal编程技术网

Arrays 将n个值相加,在Powershell中得到x

Arrays 将n个值相加,在Powershell中得到x,arrays,powershell,Arrays,Powershell,我有一个值数组(大约20个),范围从大约9.5到0.001。我需要将这些值相加,得到15到85之间的任意数字(或尽可能得到最接近的值) 测试数据: [9.912,7.414,5.512, 5.43,5.303,5.041,5.025,4.944,3.509, 3.3,3.191,3.076,2.914,2.753, 2.29,1.955,1.917,1.822,1.626,1.526,1.489,1.482,1.362,1.354,1.311,1.222,1.154,0.904,0.799,

我有一个值数组(大约20个),范围从大约
9.5
0.001
。我需要将这些值相加,得到15到85之间的任意数字(或尽可能得到最接近的值)

测试数据:

[9.912,7.414,5.512, 5.43,5.303,5.041,5.025,4.944,3.509,  3.3,3.191,3.076,2.914,2.753, 2.29,1.955,1.917,1.822,1.626,1.526,1.489,1.482,1.362,1.354,1.311,1.222,1.154,0.904,0.799, 0.79,0.657,0.643,0.618,0.615,0.592,0.564,0.484, 0.48,0.447,0.419,0.415,0.328,0.325,0.288, 0.26,0.251,0.248,0.23,0.223,0.221,0.154,0.129,0.128,0.126,0.103,0.102,0.099,0.092,0.077,0.071,0.066, 0.06,0.046,0.037,0.028,0.023,0.007,0.003,0.003,0.003,0.002,0.001,0.001,0.001,0.001]

有人能帮我吗/这可能吗?

你可以这样做:

$arr = @(9.912,7.414,5.512, 5.43,5.303,5.041,5.025,4.944,3.509,  3.3,3.191,3.076,2.914,2.753, 2.29,1.955,1.917,1.822,1.626,1.526,1.489,1.482,1.362,1.354,1.311,1.222,1.154,0.904,0.799, 0.79,0.657,0.643,0.618,0.615,0.592,0.564,0.484, 0.48,0.447,0.419,0.415,0.328,0.325,0.288, 0.26,0.251,0.248,0.23,0.223,0.221,0.154,0.129,0.128,0.126,0.103,0.102,0.099,0.092,0.077,0.071,0.066, 0.06,0.046,0.037,0.028,0.023,0.007,0.003,0.003,0.003,0.002,0.001,0.001,0.001,0.001)

$output = 0
$arr | foreach {
    if(($output + $_) -le 85){
        $output += $_
    }
}

$output

上面的示例将返回一个接近但小于85的数字

您没有显示任何自己的代码或任何您尝试研究/搜索解决方案的迹象。(即使代码不起作用,也要始终包含它!)我建议阅读,因为此时您的问题缺少了提问时所需的基本知识。你的问题可能会被否决并关闭,直到你包含了基本内容。我觉得这看起来像是一个课堂作业问题……是的,我下次会这样做。我的主要问题是,我根本不知道如何处理这个问题(因此没有代码)。现在我看到了雨篷,它看起来很清晰!你的问题模棱两可。距离范围15到85最近的值?目标是什么,范围的下限/上限?或者得到一个精确的整数值?为了匹配不同的值,回溯算法可能会找到更好的值,而不仅仅是按顺序累加。