九度OJ 1072:有多少不同的面值组合? (计数)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:3112

解决:1591

题目描述:

某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

输入:

题目没有任何输入

输出:

按题目的要求输出可以得到的不同邮资的数目

样例输入:

样例输出:

来源:
2002年清华大学计算机研究生机试真题(第I套)

思路:

用另外一个数组计数,初始化全零,如果存在这个和则置一,最后统计即可。


代码:

#include <stdio.h>
 
int main(void)
{
    int i, j, k;
    int a[200];
    int count;
 
    for (int x=0; x<200; x++)
        a[x] = 0;
 
    for (i=0; i<=5; i++)
    {
        for (j=0; j<=4; j++)
        {
            for (k=0; k<=6; k++)
            {
                a[8*i+10*j+18*k] = 1;
            }
        }
    }
 
    count = 0;
    for (int x=1; x<200; x++)
    {
        if (a[x] == 1)
            count ++;
    }
 
    printf("%d\n", count);
 
    return 0;
}
/**************************************************************
    Problem: 1072
    User: liangrx06
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:908 kb
****************************************************************/


posted on 2015-10-22 13:12  梁山伯  阅读(192)  评论(0编辑  收藏  举报

导航