Tsukinai的第二十个程序
现有硬币三种面额硬币5分、10分、25分,输入n元钱(n为正整数,n>0且n<20),请给出每种硬币都有出现,并且25分钱个数>10分钱个数>5分钱
个数,有多少种硬币组合方式?若没有符合要求的组合方式,则输出0。要求用函数计算并返回硬币的组合数。
注:
- 用标准 C 语言编程,所有变量必须在第一条可执行语句前定义。
- 输入输出格式要和以下给定格式完全一致,建议拷贝粘贴输入输出格式。
输入格式:"%d"
如果n不满足题目要求的条件,则输出"Error!\n",则重新输入(不考虑非法字符输入的情况)
输出格式:"%d\n"
运行示例 1:
0↙
Error!
5↙
15
运行示例 2:
1↙
1
(最后的输出表示有多少种硬币组合方式)
#include<stdio.h>
int coin(int n);
int main()
{
int n;
while (1)
{
scanf("%d", &n);
if (n <= 0 || n >= 20)
{
printf("Error!\n");
continue;
}
printf("%d",coin(n));
break;
}
return 0;
}
int coin(int n)
{
int a,b,c,count=0;
for(c=3;c<=80;c++)
for(b=2;b<c;b++)
for(a=1;a<b;a++)
{
if(a*5+b*10+c*25==100*n)
count++;
}
return count;
}