换分币
自然语言解决问题:
根据该问题的描述,可将该问题抽象为一个不定方程设变量 x、y和2分别代表兑换的1 元5 1的硬所具有的钱数(角),则题目的要求,可得到如下的方程:
x+y+z-50
其中,x为兑换的1元硬币钱数,其可能的取值为0,10,20,30,40,503,y为兑换的5角硬币钱数,其可能的取值为0,5,10,15,20,25,30,35,40,,45,50,为兑换的1角硬币钱数其可能的取值为{0,1,...50}。
流程图:

具体代码:
#include <stdio.h>
main(){
int x,y,z,count=1;
printf("可能的兑换方法如下:\n");
for(x=0;x<=50;x+=10)
for(y=0;y<=50-x;y+=5)
for(z=0;z<=50-x-y;z++)
if(x+y+z==50)
printf(count%3?"%d: 10*%d+5*%d+l*%d\t":"%d:10*%d+5*%d+1*d\n",count++,x/10,y/5,z);
}

浙公网安备 33010602011771号