• PTA 7-231 买文具


    PTA 7-231 买文具

    分数 10
    作者 C课程组
    单位 湖南工程学院

    某小学要购置文具。批发市场中 A 牌的铅笔卖 5 元一支,C 牌的铅笔卖 2 元一支,D 牌的简易铅笔卖1元2只(捆绑销售,只能买偶数只)。

    如果想用n元买n支笔,问有多少种买法?(题目保证 n 是正整数,读者无需考虑)

    (注意当某牌的铅笔为 0 支时,也是合理的方案)

    输入格式:
    在一行中输入一个正整数n。

    输出格式:
    直接输出方案的数目。

    输入样例1:

    450
    
    • 1

    输出样例1:

    51
    
    • 1

    输入样例2:

    5
    
    • 1

    输出样例2:

    0
    
    • 1

    代码长度限制
    16 KB
    时间限制
    400 ms
    内存限制
    64 MB

    #include 
    int main(){
        int money, count = 0;    //预算mone, 买法种数count
        int brand_A, brand_C, brand_D;    //各品种铅笔
        scanf("%d", &money);
        for(brand_A = 0; brand_A < money / 5; brand_A++){    //A品牌铅笔的数量
            for(brand_C = 0; brand_C < (money - 5*brand_A) / 2; brand_C++){    //C品牌铅笔的数量
                brand_D = money - brand_A - brand_C;    //D品牌铅笔的数量
                if((brand_A + brand_C + brand_D == money
                 && 5*brand_A + 2*brand_C + brand_D/2 == money) && money % 2 == 0){
                    //条件:总数量==总金钱; 各牌铅笔总数量的资金==总金钱;    D牌铅笔是2的倍数
                    count++;
                }
            }
        }
        printf("%d", count);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    解题思路:
    step1:外层循环控制A牌铅笔数量
    step2:内层循环控制C牌铅笔
    step3:求出D牌铅笔
    step4:满足条件就标记为一种方法并记录方法数量+1

    归属知识点:
    循环结构
    条件判断

  • 相关阅读:
    壁挂式新风机市场现状及未来发展趋势分析
    网络层学习常见问题及答案整理
    vue3项目搭建手册
    KMP算法
    Leetcode 617. Merge Two Binary Trees
    早安心语微语早读,好好善待自己,珍惜今天,期待明天
    池化层的实现
    防御安全第五次作业
    (Note)Elsevier爱思唯尔期刊投稿流程
    网络编程-UDP协议(发送数据和接收数据)
  • 原文地址:https://blog.csdn.net/higgins_li/article/details/127858662