c语言问题在线解答!

关于百钱百鸡的问题一直都不是很懂,比如这个换硬币的题,为啥后面是fen5--?

img


而且为啥total那里等于0

这个就是算出每种能换出来的最大数,然后依次从最大值往下循环,一直到0为止 ,
比如一毛钱,最多可以换2个五分的,5个两分的,1个一毛的,也就是分别对应的 x/5,x/2,x
下边total等于0,是为了每次循环完把total的值重置为0,不然这个里边保存的还是上一个计算的值

这个是枚举法,公鸡是5钱一只,最多可以买20只,那么我们用fen5来表示购买公鸡的只数。最外层循环的fen5就是列举出fen5的所有情况,当fen5是20时,当fen5是19时,当fen5是18时,依次进行下去,所以需要fen5--来列举所有情况。