1. 程式人生 > >4.2.3 程式設計題《將一筆錢換算成1分、2分和5分的硬幣組合》

4.2.3 程式設計題《將一筆錢換算成1分、2分和5分的硬幣組合》

將一筆錢(大於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;
}