问题标签 [diophantine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

python - 丢番图方程

将数字 (n) 作为参数并返回四个数字的元组;销售n个金块所需的包总数、6块块的包数、9块块的包数和20块块的包数。如果无法进行块组合,则返回四个零的元组,即 (0,0,0,0)。

请注意,对于给定的 n,可以有多个解决方案,那么您的解决方案应确保在使用较大的包之前使用较小的包。例如,buy_nuggets(18) 应该返回 (3,3,0,0) 而不是 (2,0,2,0),即 3 盒 6 块金块超过 2 盒 9 块。

此函数具有输入格式整数 (n) 和限制 -10^6<=a,b,c,n<=10^6

输出格式将是 4 个数字 (d,a,b,c) 的元组,其中

d = 包裹总数
a - 6 个包裹
数量 b - 9 个包裹
数量 c - 20 个包裹数量

任何帮助都会很棒,谢谢。

这个函数什么都不返回,我在网站上找不到任何有用的东西

0 投票
2 回答
61 浏览

python - 解决丢番图

我的任务是解决分级丢番图问题。麦当劳以 6、9 或 20 个 McNuggets 的包装出售麦乐鸡块。因此,例如,可以恰好购买 15 个 McNuggets(一包 6 和一包 9),但不可能正好购买 16 个 nuggets,因为没有 6's、9's 和20 的加起来等于 16。要确定是否有可能恰好购买 n 个 McNuggets,必须求解丢番图方程:找到 a、b 和 c 的非负整数值,这样

6a + 9b + 20c = n。

编写一个函数 buy_nuggets(),它接受一个数字 (n) 作为参数并返回四个数字的元组;销售n个金块所需的包总数、6块块的包数、9块块的包数和20块块的包数。如果无法进行块组合,则返回四个零的元组,即 (0,0,0,0)。

请注意,对于给定的 n,可以有多个解决方案,那么您的解决方案应确保在使用较大的包之前使用较小的包。例如,buy_nuggets(18) 应该返回 (3,3,0,0) 而不是 (2,0,2,0),即 3 盒 6 块金块超过 2 盒 9 块。输入格式整数 (n)

我得到了限制 -10^6<=a,b,c,n<=10^6

输出格式

4 个数字的元组 (d,a,b,c) 其中

d = 包裹总数 a - 6 个包裹数量 b - 9 个包裹数量 c - 20 个包裹数量

然后我尝试

我之前确实问过,并被建议返回函数,我被提到了一个我很感激的 python 教程,我正在阅读,非常简洁但内容丰富。但是,这个特定的问题一直让我很难过。我知道这可能是一项艰巨的任务,但我希望即使以我目前的编码知识,你仍然可以尝试教学。