我解決一個following programming problem:銀行票據計劃
URI在線評測| 1018 - Banknotes
在這個問題中,您必須讀取一個整數並計算出可能分解值的最小可能數量的註釋。筆記爲100,50,20,10,5,2 e 1.打印讀取的值和筆記列表。
輸入
輸入文件包含的整數N(0 <Ñ< 1000000)。
輸出
打印必要的紙幣的最小量,等作爲給定的例子。
我已經嘗試了以下解決方案:
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
bool NTrue(int n);
void HowMany(int x, int BankNote);
int main(int argc, char ** argv) {
int N;
cin >> N;
int BankNote = 100;
if (NTrue(N)) {
while (BankNote != 0) {
if (BankNote == 25)
BankNote = 20;
HowMany(N, BankNote);
N = N % BankNote;
BankNote = BankNote/2;
}
}
return 0;
}
bool NTrue(int n) {
if (0 < n && n <= pow(10, 6))
return true;
else
return false;
}
void HowMany(int x, int BankNote) {
int result = x/BankNote;
float BN = BankNote;
cout << result << " nota(s) de R$ " << fixed << setprecision(2) << BN << endl;
}
我沒有得到期望的結果。我究竟做錯了什麼?
在這個時候你的問題是不可理解的。請重新格式化它。 –
這裏很難區分這個問題。 –
你最好再次粘貼代碼,檢查http://stackoverflow.com/editing-help,指南[問]也是有用的。 – brasofilo