ACM编程设计

来源:互联网 发布:mysql over 编辑:程序博客网 时间:2024/06/05 21:00

                                          第一题 题目:一元硬币可以用一分,二分,和五分的组成,问可以有多少种分法?

解析:当一分最多有100个,当二分最多有50个,五分的最多有20个,则可以用多重循环来做。

#include<stdio.h>

int main()

{

    int i,j,m;

    for(i=0;i<=20;i++)

          for(j=0;j<=50;j++)

              if((5*i+2*j)<=100)

                          m++;

     printf("一共有%d种分法\n",m);

}

输出结果为:541

当题目变成每个硬币至少有一个,则程序会变成

 

int main()

{

    int i,j,m;

    for(i=1;i<20;i++)

          for(j=1;j<50;j++)

              if((5*i+2*j)<100)

                          m++;

     printf("一共有%d种分法\n",m)

}

输出结果为 461