include<stdio.h>int main(){int a,b,c,n=1,i=0;double k=0;while(scanf("%d",&n)!=EOF){i++;for(a=0;a<=n/5;a++)for(b=0;b<=(n-5*a)/2;b++)//减去已经分配给5分的钱数for(c=0;c<=n-5*a-2*b;c++)//减去已经分给5分和2分的钱数{if(c+2*b+5*a==n)...
2,3这三种硬币,在fun函数中前面的循环都是用来进行特殊情况的判断,最后一句return才是精髓,前面的fun函数只有m-n在变也就是最大钱数为3每一次递归减少一次,后面的是n-1在变也就是在统计1,2硬币这两种情况。