給一個數字,輸出人民幣組合(JavaScript演算法)
阿新 • • 發佈:2021-08-16
題目:
人民幣由100元,50元,20元10元,5元1元,5毛,1毛面額組合。寫一個方法隨便傳入一個數字引數,就輸出人民幣組合。
比如傳入1526.5就顯示1526.5元由人民幣100元15張,20元1張,5元一張1元一張5毛一張構成。無需考慮多種組合方式,只需考慮最簡單的組合方式。
思考:
我們首先封裝一個函式,用一個形參來接收輸入的值
分析這個值,可能有小數
計算整數位:用/來取模,用%來取餘。從大到小依次計算
計算小數位:n*10%10,就可以轉成整數了,然後就和整數位計算一樣了
執行結果
https://www.houdianzi.com/ logo設計公司
程式碼:
以下就是我用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:我們只要理解怎麼取模和取餘數,這樣問題就很簡單了。
類似的問題還有很多,比如:
給一個時間戳,計算年月日或者時分秒
給一個整數,計算個位、十位、百位、千位...