2021-01-19

给一个数字,输出人民币组合(JavaScript算法)

人民币组合问题

题目:人民币由100元,50元,20元10元,5元1元,5毛,1毛面额组合。写一个方法随便传入一个数字参数,就输出人民币组合。
比如传入1526.5就显示1526.5元由人民币100元15张,20元1张,5元一张1元一张5毛一张构成。无需考虑多种组合方式,只需考虑最简单的组合方式。

思考

  • 我们首先封装一个函数,用一个形参来接收输入的值

  • 分析这个值,可能有小数

    • 计算整数位:用/来取模,用%来取余。从大到小依次计算
    • 计算小数位:n*10%10,就可以转成整数了,然后就和整数位计算一样了
  • 运行结果

以下就是我用js代码,写的人民币组合算法。

<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>  var n = 1526.5;  //调用  var obj = rmb(n);  console.log(obj)    function rmb( n ){   console.log( n );   var a100 = parseInt( n / 100 );   var value = n % 100;   var a50 = parseInt( value / 50 );   value = value % 50;   var a20 = parseInt( value / 20 );   value = value % 20;   var a10 = parseInt( value / 10 );   value = value % 10;   var a5 = parseInt( value / 5 );   value = value % 5;   var a1 = parseInt( value );      //把小数 转成 整数   value = n * 10 % 10;   a05 = parseInt(value / 5);   var a01 = parseInt( value % 5 )   return {a100,a50,a20,a10,a5,a1,a05,a01};  } </script></body></html>

ps:我们只要理解怎么取模和取余数,这样问题就很简单了。
类似的问题还有很多,比如:

  • 给一个时间戳,计算年月日或者时分秒
  • 给一个整数,计算个位、十位、百位、千位...








原文转载:http://www.shaoqun.com/a/510197.html

跨境电商:https://www.ikjzd.com/

photobucket:https://www.ikjzd.com/w/132

百思买:https://www.ikjzd.com/w/394


人民币组合问题题目:人民币由100元,50元,20元10元,5元1元,5毛,1毛面额组合。写一个方法随便传入一个数字参数,就输出人民币组合。比如传入1526.5就显示1526.5元由人民币100元15张,20元1张,5元一张1元一张5毛一张构成。无需考虑多种组合方式,只需考虑最简单的组合方式。思考我们首先封装一个函数,用一个形参来接收输入的值分析这个值,可能有小数计算整数位:用/来取模,用%来取余
友家快递:友家快递
电霸:电霸
东莞国政生态园在哪里,怎么走?:东莞国政生态园在哪里,怎么走?
南非30名男子因割礼死亡 盘点残忍的割礼文化:南非30名男子因割礼死亡 盘点残忍的割礼文化
广州五一风车节在哪里?五一广州风车展地址?:广州五一风车节在哪里?五一广州风车展地址?

No comments:

Post a Comment