7-3 数学思想——枚举 (8分)

Author:MiFkuF
微电子科学与工程 理科男

有四种面值不一样的货币分别是10元,5元,2元,1元。现在给你一个钱数你能求求它的组成方法都有多少吗?

输入格式

一个数n(0

输出格式

有四种面值不一样的货币分别是10元,5元,2元,1元。现在给你一个钱数你能求求它的组成方法都有多少吗?

输入样例:

10

输出样例:

11
代码

#include
struct yuan
{
 int ten ;
 int five ;
 int two ;
 int one ;
}ren[1];//我只是在练习结构体而已,有所需要可以自己删除结构体
int main()
{
 int n;
 ren[0].ten = 10;
 ren[0].five = 5;
 ren[0].two = 2;
 ren[0].one = 1;
 scanf("%d", &n);
 int a, b, c, d, i = 0;
 for (a = 0; a <= n / 10; a++)
  for (b = 0; b <= (n - 10 * a) / 5; b++)
   for (c = 0; c <= (n - 10 * a - 5 * b) / 2; c++)
    for (d = 0; d <= n - 10 * a - 5 * b - 2 * c; d++)  //计算各个面值钱数建议这样写,否则PTA会报超出时长。
    {
     if (ren[0].ten * a + ren[0].five * b + ren[0].two * c + ren[0].one * d == n)
     {
      i++;
      break;//break可以不加
     }
    }
 printf("%d",i);
}

你可能感兴趣的:(PTA,c语言)