找回密码
 加入
搜索
查看: 135|回复: 3

求个算法 数字之和组合

  [复制链接]
发表于 2023-12-20 16:03:30 | 显示全部楼层 |阅读模式
http://www.autoitx.com/forum.php ... &extra=page%3D2


;数据可出现n次
$A1=1399.2
$A2=9815.6
$A3=2787.8
$A4=5310.6

;求和
$r=$A1*$n1+$A2*$n2+$A3*$n3+$A4*$n4



;和 需求
$need=254648

;$r-$need 结果范围在-600到 500 之间
$fw1=-600
$fw2=500



 楼主| 发表于 2023-12-20 19:45:25 | 显示全部楼层
本帖最后由 lin6051 于 2023-12-21 15:18 编辑
$A1=1399.2
$A2=9815.6
$A3=2787.8
$A4=5310.6

$need=2448457

$fw1=-200
$fw2=100

$s=''

For $n1=0 to Int(($need+$fw2)/$A1)+1
For $n2=0 to Int(($need+$fw2)/$A2)+1
For $n3=0 to Int(($need+$fw2)/$A3)+1
For $n4=0 to Int(($need+$fw2)/$A4)+1

$r=$A1*$n1+$A2*$n2+$A3*$n3+$A4*$n4
$r1=Round($r-$need,3)

if $r1>$fw2 then exitloop
if $r1>=$fw1 and $r1<=$fw2 then

;$str='少'
;if $r1>0 then $str='多'
$str='差'

$s&=$A1&'x'&$n1&'+'&$A2&'x'&$n2&'+'&$A3&'x'&$n3&'+'&$A4&'x'&$n4&'='&$r&$str&String($r1)&@CRLF

endif

Next
Next
Next
Next


msgbox(0,'完成','按确定复制结果到剪切板')
CLipPut($s)
简单能用,不知道有没遗漏, 用上面链接的方式直接卡死了
发表于 2023-12-20 20:42:33 | 显示全部楼层
lin6051 发表于 2023-12-20 19:45
简单能用,不知道有没遗漏, 用上面链接的方式直接卡死了

厉害厉害厉害厉害厉害厉害

点评

这方法不对..中间2个凑不到  发表于 2023-12-21 09:15
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 04:46 , Processed in 0.070934 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表