已知2*a + 3*b +4*c =1000,求a、b、c的值
如题就是举个例子:
已知2*a + 3*b +4*c =1000,求a、b、c的值。
2、3、4、1000可能是任意其他数。
实际的需求是:
怎么把一个大数(例如:1000)分解为3个(或N个)小数字(2、3、4)各自乘一个自然数的积 的和。
这个问题我都不知道要怎么问百度……实际情况数字可能比较大,也不是3个小数字,用for遍历太慢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这感觉就是三个for然后控制一下边界情况。应该不存在啥偷懒的情况。
我整理下你的问题:
$$
ax+by+cz=L,其中 a,b,c,x,y,z,L>=0,且是整数。在随机给定 a,b,c,L 的值后,请用编程解出合理的 x,y,z 的值,题目保证给定的随机值有解。
$$
我突然发现这是三维下的一条直线,那么问题就转化为这条直线是否经过坐标都是 0 或正整数的点。
这是个复杂的整数分解问题,目前尚无快速算法。不过,比起
for 遍历
,有其它更高效的算法。参考
https://zh.wikipedia.org/wiki...
也考虑负数?
偷个巧 不能被参数和整除的
other
处理起来比较麻烦 留坑