gpt4 book ai didi

判断一个数是否是其他数的倍数之和的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:45:53 26 4
gpt4 key购买 nike

我有三个数字 6、9、20。对于给定的数字,我需要检查它是否可以等于这三个数字的倍数之和。例如:n = 47 那么可以确定47 = 9*3 + 20

n=23 则不能没有组合。

可以在o(n^3)中确定。但是有更好的方法吗?

最佳答案

这是一个线性丢番图方程。

如果系数可以为负,则检查Bézout's identity :

如果总和是数字 gcd 的倍数,则有解。

在您的示例中,gcd=1,因此对于任何和都有一个解决方案。所以我猜你正在寻找非负系数.. :(

关于判断一个数是否是其他数的倍数之和的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17022960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com