javascript - 找到所有 a、b、c、d、e,使得 a + b + c + d + e = 1000 且不超过 3 个循环
问题描述
我的一位朋友提出了这个问题,我正在尝试为此找到最佳解决方案。要求是:
- a,b,c,d,e 是 0 到 1000 之间的整数,a、b、c、d、e 之间没有关系,因此 a 可以等于 b 或 c,...
- 不能使用超过 3 个循环(可以是 3 个嵌套循环或 3 个普通循环,或 2 个嵌套循环 + 1 个普通循环,...)
- 您需要找到 (a, b, c, d, e) 的所有答案,并且:
a + b + c + d + e = 1000
基本方法是,我们将执行以下操作:循环所有 a、b、c、d、e 的值从 0 到 1000,然后如果它们的总和为 1000,则打印它,因此我们将有 5 个循环。
我在这里用 Python 实现了一个使用 5 个循环的解决方案:https ://repl.it/repls/BestKnobbyDonateware
你能找到用 3 个循环解决这个问题的方法吗?
更新:
这种方式是我的解决方案:
这不是作业,这只是一个有趣的问题,我想知道其他开发人员会解决什么问题。
笔记:
尽量不要使用任何隐藏循环,例如初始化范围,
但是 Sum 和其他数学列表运算不会算作循环,只要您在相对较小的一组元素上使用它们。
如果使用函数,生成这些小元素的排列将被视为单个循环。
解决方案
推荐阅读
- openlayers - OpenLayer4.6.5:在本地目录中定义自定义tileImage源
- javascript - Javascript 添加监听器错误:TypeError: trigger.addEventListener is not a function
- postgresql - BIRT - 创建一个临时表
- c - 如何将双精度数据转换为 uint8 数组并再次返回双精度
- iis - rabbitmq con connect 在 iis 上发布后
- android - 滚动recyclerview时RecyclerView项目不调整它的高度
- python - 使用 Pandas 在列中循环字典
- r - countrycode 包没有将 cown 转换为 iso3c
- javascript - 如何阻止用户从我的页面复制纯文本以及下载我帖子中的任何图像,他也不能右键单击页面?
- javascript - 使用 ?:(javascript 中的条件运算符)的函数解释