4.2.3 程式設計題《將一筆錢換算成1分、2分和5分的硬幣組合》
阿新 • • 發佈:2019-01-01
將一筆錢(大於8分,小於1元,精確到分)換算成1分、2分和5分的硬幣組合。輸入金額,問有幾種換算方法?要求每種硬幣至少有一枚。【輸入形式】從鍵盤輸入一個正整數n。【輸入輸出樣例1】(下劃線部分表示輸入)Input money: 10count=2【樣例說明】輸入提示符後要加一個空格。其中“:”後要加一個且只能一個空格。英文字母區分大小寫。必須嚴格按樣例輸入輸出。
解題思路與易錯分析:
思路是先用總錢數減去8分然後在分別求出5分為0,1,2,3....時的2分與1分的組合最後再相加,
下面附上我的程式碼:
#include <iostream>
using namespace std;
int main()
{
cout << "Input money: ";
int n,cnt=0;
cin >> n;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n/2; j++)
{
for(int k = 1; k <= n/5; k++)
{
if((i+j*2+k*5)==n)
{
cnt++;
}
}
}
}
cout << "count=";
cout << cnt;
return 0;
}