C语言计算用1分钱、2分钱、5分钱组成1元钱的方式
用1分钱、2分钱、5分钱组成1元钱,请给出所有的组合方式。
示例代码如下:
示例代码如下:
#include <stdio.h> int main(){ int m, n, k=0; for(m=0; m<=100/5; m++) for(n=0; n<=(100-5*m)/2; n++){ printf("1分%d个,2分%d个,5分%d个\n", 100-5*m-2*n, n, m); k++; } printf("共有%d种组合方式\n", k); return 0; }还有另外一种解法,也输出了组合的个数,示例代码如下:
#include <stdio.h> int main (){ int n5, n2, k=0; for(n5=100/5; n5>=0; --n5) for(n2=(100-5*n5)/2; n2>=0; --n2){ printf ("5分%d个,2分%d个,1分%d个\n", n5, n2, 100-5*n5-2*n2); //输出结果 k++; } printf("共有%d种组合方式\n", k); return 0; }运行结果:
...... 5分0个,2分6个,1分88个 5分0个,2分5个,1分90个 5分0个,2分4个,1分92个 5分0个,2分3个,1分94个 5分0个,2分2个,1分96个 5分0个,2分1个,1分98个 5分0个,2分0个,1分100个 共有541种组合方式