public class Money {
青山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
public static void main(String[] args) {
// 所有金額以分為單位
int money = 146;
// 所有鈔票面以分為單位,從大到小排列,10000是100塊,20是2角
int[] rmbs = { 10000, 5000, 2000, 1000, 500, 100, 50, 20, 10, 5, 2, 1 };
// rest是旁頃剩余的錢,剛開始為所求好啟緩的錢,隨便選錢rest越變?cè)叫?,直到?
int rest = money;
for (int rmb : rmbs) {
// num為鈔票個(gè)數(shù)
int num = rest / rmb;
if (num 0) {
rest = rest - rmb * num;
System.out.println("鈔票面額(分):" + rmb + " 個(gè)數(shù):" + num + " 還差多少錢(分):" + rest);
// 錢友模湊齊了,程序結(jié)束
if (rest == 0) {
System.exit(1);
}
} // end if num
} // end for rmb
}
}
這你看怎么個(gè)分法,有什么要求,族中要是沒要求那就太多了。
比兆碧山如說:1000個(gè)1毛,500個(gè)2毛,100個(gè)1塊都行;
這是單個(gè)的,還有5塊、10塊、20塊等等。
只要加起來等于100就算?;哿?/p>
給你思路,代碼自己練習(xí)寫寫吧
1.
產(chǎn)生隨機(jī)數(shù)的函數(shù)不必說了.
規(guī)定要100個(gè)隨機(jī)數(shù)
你就做個(gè)循環(huán),循環(huán)100次,每次都產(chǎn)生一個(gè)0-99的隨機(jī)數(shù),產(chǎn)生完如果你最后還要看這些隨機(jī)數(shù)字,就用一個(gè)數(shù)組把數(shù)字存起來.
然后設(shè)置3個(gè)變量
一個(gè)用來記錄最小值,初始值99,如果循環(huán)過程中發(fā)現(xiàn)新產(chǎn)生的隨機(jī)數(shù)仿褲比該變量小,就把這個(gè)變量賦值成剛產(chǎn)生的隨機(jī)數(shù).
一個(gè)用來記錄最大值,初始值0,其他跟上面那個(gè)對(duì)比就知道局卜了.
一個(gè)記錄超過50的數(shù)字個(gè)數(shù),初始值0,判斷當(dāng)前隨機(jī)數(shù)如果大于50 就自加1
于是循環(huán)完你要的結(jié)果就有了桐大穗.
2.
這無非是一個(gè)求余和商的問題.
我國(guó)人民幣種 目前有 1分,2分5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元.
輸入金額后,從大到小來除,來求余.
比如說234.5元
200/100 = 2 .......34.5
34.5/50 = 0 ......34.5
34.5/20 = 1 ......14.5
14.5/10 = 1 ......4.5
.....
就這個(gè)思路. 為了程序方便你可以把人民幣的面值存到一個(gè)數(shù)組里,然后經(jīng)過 數(shù)組長(zhǎng)度 那么多次的循環(huán),進(jìn)行下面步驟:
①除以數(shù)組中的數(shù)值(得到整數(shù)),將得數(shù)存在另一個(gè)數(shù)組中.
②錢數(shù) 減去 面值×①中的商 即為余數(shù). 錢數(shù)賦值成該余數(shù).
③循環(huán).
最后輸出另一個(gè)數(shù)組里得到的每次的商就可以了.
比如我說的例子,輸出就是 2個(gè)100, 1個(gè)20,1個(gè)10,4個(gè)1,一個(gè)0.5,商是0的忽略掉就行了.