[C]从题中得到的新认识

来源:互联网 发布:微信炸群软件下载 编辑:程序博客网 时间:2024/06/18 15:55
 
一元钱分成1分、2分、5分的,问有多少种分法?(分钱.c)
    (答案:541种.)
 main()
 {int i,j,sum=0;
   for (i=0;i<=20;i++)            /*变量i为5分钱的数量*/
    for (j=0;j<=(100-5*i)/2;j++) /*变量j为2分钱的数量,其余的就为一分钱*/
      sum++;
   printf("共有%d种分法.",sum);
   getch();
 }

这题也可以用三个循环的方法, 但从上题中认识到,只需把其中两个数的组合确定就可以了,比方说确定了五元为五个,
两元为十个,自然就可以得出一元是多少个,故这就是一种组合方法,所以 sum+1, 这里说是组合的方法有多少,所以定出两个之后第三个就出来,所以不用确定.