源程序:
要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,要求换成30张小钞票,每种面值的至少一张,编程输出所有可能的换法,程序应适当考虑减少重复次数。
#include <stdio.h>
#include <stdlib.h>
main()
{
int x5,x2,x1,x;
for(x5=1;x5<=9;x5++)
{
for(x2=1;x2<=21;x2++)
{
for(x1=1;x1<=42;x1++)
{
for(x=1;x<=84;x++)
{
if((x5*50+x2*20+x1*10+x*5==500)&&(x5+x2+x1+x==30))
printf("%d\t%d\t%d\t%d\n",x5,x2,x1,x);
}
}
}
}
}