arrays - 在 Powershell 中将 n 个值相加得到 x
问题描述
我有一个值数组(大约 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 的数字
推荐阅读
- python - 使用 matplotlib 针对正态分布、高斯分布、指数分布和伽马分布创建动画的问题
- ios - 如何在标签中添加按钮?
- http - 如何为 AAD 生成 Http 请求?
- haskell - 将 Int 定义为 Haskell 中类型类的实例时出现问题
- memory - 多级页表中页表条目的大小是多少?
- c# - 在缺少异常处理的同步方法中检测异步构造所需的 NDepend 代码规则
- winforms - DevExpress GridControl 选择的行在 Master-Details 模式下属于父视图或子视图
- ipad - SwiftUI / iOS 13 - 多场景通知中心
- javascript - 如何获取对 Firebase 图像的引用以便能够将其删除?
- postgresql - 无法确定类型:javax.persistence.EntityManagerFactory,列:[org.hibernate.mapping.Column(emf)]