C语言程序把10块钱转换成1块2块5块有多少种换法?
这类问题属多点求值类问题,***用穷举法循环取值,判断符合条件者输出。
1 算法: 取k5= 0~2 取k2 = 0~5 取k1= 0~10 求和 sum=5*k5+2*k2+1*k1 判断 若 sum==10 则 {计数、输出 k5,k2,k1,退出内循环} 下一个 k1,k2,k5 2 分析: 本例使用三重循环变量k5,k2,k1来模拟5、2、1块的张数。循环初值的确定,每样都至少有一张,初值当取1,若允许单一币种兑换,则初值当取0。循环终值的确定,最大取值由 10/币值 获得。如 5块时最多为 10/5 =2。余类推。3 推广应用 本算法还应用于输出水仙花数、百钱百鸡、回文数等问题的求解。弄懂程序类型特点,可触类旁通收举一反三之效。到此,以上就是小编对于百鸡百钱c语言的问题就介绍到这了,希望介绍关于百鸡百钱c语言的1点解答对大家有用。
(图片来源网络,侵删)
(图片来源网络,侵删)