编写一个函数用于实现金额组合:面额分别有1元、2元、5元的纸币共计N张,现需要付出M元,统计共有几种付法。N、M是用户输入的值。(有10张纸币,面额分别是1元、2元、5元,现需要付出18元,通过编程统计出共有几种付法。)

思考:JS中for循环嵌套有什么特点?

参考代码:

方案1:

 /*  设1元a张,2元b张,5元c张*/function f(N, M) {var arr = [];for (var a = 0; a <= N; a++) {for (var b = 0; b <= N; b++) {for (var c = 0; c <= N; c++) {if (a + 2 * b + 5 * c == M && a + b + c == N) {arr.push(a + ',' + b + ',' + c);};}}}if (arr.length == 0) {console.log("无解");} else {console.log(arr);}}f(10, 23);//=>["2,8,0", "5,4,1", "8,0,2"]

方案2

        /* 转换为数学问题设1元a张,2元b张,5元c张,列出方程组a+b+c=Na+2b+5c=M获得关系式b+4c=M-N0≤N - b - c(M-N)为常数,因此问题本质是用JS解决一个一元一次直线方程在限定范围内的非负整数解,类似线性规划的非负整数解。     */function f1(N, M) {var arr = [];for (var b = 0; b <= M - N; b++) {for (var c = 0; c <= M - N; c++) {var a = N - b - c;if (b + 4 * c == M - N) {if (a >= 0) {arr.push(a + ',' + b + "," + c);}}}}if (arr.length !== 0) {console.log(arr);} else {console.log("无解");}}f1(10, 18);  //=>["8,0,2", "5,4,1", "2,8,0"]

JavaScript中for循环嵌套编程小案例相关推荐

  1. python程序实例教程基础-编程小案例

    编程小案例 本小节实现一个通讯录管理程序,通过这个案例来融会贯通之前所学习的知识,该程序使用到如下知识点: 条件选择 循环 列表 字典 键盘输入 屏幕输出 编写程序 addr-manage.py 实现 ...

  2. java中for循环嵌套_Java中的for循环嵌套

    摘要 Java嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构.whiledo.while.for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for ...

  3. javascript中for循环和setTimeout同时使用,出现的问题

    javascript中for循环和setTimeout同时使用,出现的问题 for循环代码 <!DOCTYPE html> <html lang="en"> ...

  4. JavaScript中的循环语句-while循环

    -JavaScript中有三种循环语句,分别为while循环,do-while循环和for循环. 现在来聊一聊while循环. 首先讲一讲 if 语句和while 循环的格式是非常相似的,但是它们都拥 ...

  5. python实战编程小案例-----更新中

    入门小案例 数字的阶乘 圆的面积 打出区间里面的素数 求前N个数字的平方和 计算列表数字的和 列表去重 简单对列表排列:sort,sorted: 怎样实现学生成绩的排序 拉姆达 lambda 读取文件 ...

  6. Javascript中的循环变量声明,到底应该放在哪儿?

    不放走任何一个细节.相信很多Javascript开发者都在声明循环变量时犹 豫过var i到底应该放在哪里:放在不同的位置会对程序的运行产生怎样的影响?哪一种方式符合Javascript的语言规范?哪 ...

  7. 了解JavaScript中的循环缺点和迭代协议

    目录 介绍 背景 不同的循环构成弊端 For-loop Array.forEach For-in loop For-of loop 迭代协议 迭代协议的类型 什么是迭代器协议? 什么是可迭代协议? 迭 ...

  8. Python函数式编程小案例:文本加密

    问题描述:编写函数,接收一个文本和一个密钥字符串,实现文本加密和解密,要求使用异或算法,如果文本比密钥字符串长的话就循环使用指定密钥. 参考代码: 运行结果: ----------相关阅读------ ...

  9. 代替嵌套循环java_蓝石榴_个人博客_Java中for循环嵌套的替换优化

    比如:两个list中分别装有相同的对象数据,firstList中有6万条对象数据,secondList中有3万条对象数据(但是对象中的name属性变量为空).两个list中的id或者其他变量都一模一样 ...

最新文章

  1. 版本变迁_文科生学电脑 - git和版本控制(一)
  2. 详细了解BGP—边界网关协议
  3. 5-8 离散点检测(改进版无error)
  4. 刚买的iPad可获1100元退款
  5. 毕业3年,我换了4份工作:好工作,是这样“熬”出来的
  6. Himall商城LinqHelper帮助类(1)
  7. HTTP请求的完整过程
  8. 计算机公式计算误差,如何在Excel2016中计算方差和均方误差?
  9. PCAN-View如何保存报文?
  10. Java-JPEG图片生成器
  11. URAL - 1741 - Communication Fiend(dp)
  12. Lora中信息码片,编码率解释
  13. 手机软键盘的发送按键和确认按键调用方法
  14. php中baseasset,放映员资料库 ~ 影院之家 | The projectionist database - CineAsset 5.2.11 for Win 下载...
  15. DirectX、Direct3D、OpenGL的区别(DX、D3D、OpenGL)
  16. 挽救婚姻从“心”开始
  17. 如何使用SecureCRT连接华为eNSP模拟器
  18. English-全国英语翻译证书
  19. sl软件安装方式总结
  20. 字符串,字符指针,字符串指针,字符数组

热门文章

  1. 下载b站视频以及视频剪辑软件推荐
  2. Oracle数据库学习(一)-----Oracle体系结构
  3. Windows Vista中如何重置Winsock设置_Windows Vista_www.knowsky.com
  4. 皮一皮:戒网瘾专用手机...
  5. 数学软件Maple使用教程(基本命令)
  6. Python开发亚马逊关键词获取工具
  7. java移动端开发教程视频_Java Web开发-项目部分(中国移动科技综合管理系统)视频教程 - JavaWeb - Java - 私塾在线 - 只做精品视频课程服务...
  8. 第三章 生产要素市场
  9. 怎么解决VS编译器上用不了scanf函数(会报错)
  10. 2023年5月16日 星期二