1、Description
我们知道人民币有1、2、5、10、20、50、100这几种面值。
现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。
比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。
Input
输入有多组,每组一行,为一个整合n。
输入以0结束。
Output
输出该面额有几种表示方法。
例如:1 --》1 2--》2
2、代码:
-
#include<stdio.h>
-
-
void main()
-
{
-
int n;
-
int a;
-
int b;
-
int c;
-
int d;
-
int e;
-
int f;
-
int g;
-
int s;
-
while(1)
-
{
-
s=0;
-
scanf("%d",&n);
-
if(n==0)
-
{
-
break;
-
}
-
if (n<1 || n>250)
-
{
-
continue;
-
}
-
for(a=0;a<=n/100;a++)
-
for(b=0;b<=n/50;b++)
-
for(c=0;c<=n/20;c++)
-
for(d=0;d<=n/10;d++)
-
for(e=0;e<=n/5;e++)
-
for(f=0;f<=n/2;f++)
-
for(g=0;g<=n;g++)
-
{
-
if( (n==a*100+b*50+c*20+d*10+e*5+f*2+g) && (a+b+c+d+e+f+g<=100) )
-
{
-
s++;
-
break;
-
}
-
-
}
-
printf("%d\n",s);
-
}
-
}
阅读(1512) | 评论(0) | 转发(0) |