題目内容:
将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;
}