天天看點

MOOC (C++) 3-5美分找錢 将n美分轉換成25、10、5和1美分的硬币總共有多少種轉換方法?

題目内容:

将n美分轉換成25、10、5和1美分的硬币總共有多少種轉換方法?

運作結果如下:

25

13

如果n不在0~99之間,輸出提示資訊“the money is invalid!”

運作結果如下:

101

the money is invalid!

輸入格式:

整數,表示美分數

輸入可能不是[0,99]之間的整數。輸入不在該區間時,輸出為“the money is invalid!”。

輸出格式:

轉換方法數或者提示資訊“the money is invalid!”(不帶引号啊,單詞間隻有一個空格)

輸入樣例:

25

輸出樣例:

13

時間限制:2000ms記憶體限制:64000kb

題目解析

按順序判斷每一種情況

選擇符合要求的

C++

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n,flag=0;

    cin>>n;
    if(n>99||n<0)
    {
        cout << "the money is invalid!" << endl;
        exit(0);
    }
    for(int i=0; i<4; i++)
    {
        for(int j=0; j<11; j++)
        {
            for(int k=0; k<20; k++)
            {
                for(int a=0; a<100; a++)
                {
                    if(25*i+10*j+5*k+a==n)
                        flag++;
                }
            }

        }
    }
    cout << flag << endl;
    return 0;
}

           

繼續閱讀