zoukankan      html  css  js  c++  java
  • 刷题(十一)

    题目

    小明有一百元,他想买一百本书,英语书5元一本,数学书3元一本,语文书0.5元一本,请问他有多少种买法?
    请编程解决这个问题,可以使用任何编程语言,包括伪语言

    分析

    小明有100元,三本书的价格分别是5元,3元,0.5元,那么最多能买到的英语书为20本,数学书为33本,语文书为200本。题目要求用100元买100本书,钱不一定花完,只要买够100本书就行
    因此,可以通过一个三重for循环来实现,i, j, e分别代表购买英语、数学、语文书的数量,循环条件分别是 i <= 20, j <= 33, e <= 200,那么只要满足 i + j + e = 100, 5 * i + 3 * j + 0.5 * e <= 100即可
    最后统计所有的组合就是买法的数量

    代码实现

    n = 0
    #最大买20本英语书,i表示买中文书的数量
    for i in range(21):
        #最大买33本数学书,j表示买数学书的数量
        for j in range(34):
            #最大买200本语文书,e表示语文书的数量
            for e in range(201):
                if 5 * i + 3 * j + 0.5 * e <= 100 and i + j + e == 100:
                    n += 1
    
    print(n)
    
  • 相关阅读:
    高级排序
    递归
    Linked List
    中缀、后缀、前缀表达式
    队列(queue)
    栈(Stack)
    数组(Array)
    数据结构和算法
    常见排序
    开启
  • 原文地址:https://www.cnblogs.com/my_captain/p/12818640.html
Copyright © 2011-2022 走看看