Python计算小学奥数题正整数分解为几个整数的倍数和。
一道小学奥数题如下:
妈妈身上有473元,可以买如下物品,《西游记》70元一套,《三国演义》61元一套,《红楼梦》35元一套,《水浒传》28元一套,《古代发明》25元一套。以上已知可以买套,也可以不买,要求买完书后身上的钱剩下的越少越好。问:怎么组合购买物品,最后剩下多少钱?
这个题目的本质是整数分解成多个整数的倍数和问题。我们假定买这五种书的套数分别为
《西游记》:b1套,
《三国演义》:b2套
《红楼梦》:b3套
《水浒传》:b4套
《古代发明》:b5套
题目就是要求473-70b1-61b2-35b3-28b4-25*b5的最小值。
用Python建立以下程序:
def myfunction(money, xyj_price, hlm_price, sg_price, shz_price, gd_price):a=[]for xyj_num in range(money//xyj_price):for hlm_num in range(money//hlm_price):for sg_num in range(money//sg_price):for shz_num in range(money//shz_price):for gd_num in range(money//gd_price):cost=xyj_num*xyj_price+hlm_num*hlm_price+sg_num*sg_price+shz_num*shz_price+gd_num*gd_priceif money-cost<=5 and money-cost>=0:left_money=money-coststr="西游记:{},红楼梦:{},三国演义:{},水浒传:{},古代发明:{},剩余:{}".format(xyj_num, hlm_num, sg_num, shz_num, gd_num, left_money)a.append((left_money,str))a.sort()if len(a)<=20:for tmp in a:x,y=tmpprint(y)else:for i in range(20):x,y=a[i]print(y)return
a=int(input('输入总钱数:'))
b1=int(input('输入《西游记》的价格:'))
b2=int(input('输入《红楼梦》的价格:'))
b3=int(input('输入《三国演义》的价格:'))
b4=int(input('输入《水浒传》的价格:'))
b5=int(input('输入《古代发明》的价格:'))
tangyuan(a,b1,b2,b3,b4,b5)
运行程序,可以得到剩下钱数最少的方法。
Python计算小学奥数题正整数分解为几个整数的倍数和。相关推荐
- 用python解小学奥数题
程序很简单,可以教给感兴趣的孩子. 数学题 abcba -efad=fff 求出各字母代表的数字. 代码: # abcba -efad=fff for a in range(1,10): ...
- 用python解小学奥数题 1
程序依然很简单,不过比之前发的那个要复杂一点,用了递归,求反转后的字符串. 适合让中小学感兴趣的孩子学习. 问题:abcde*4=edcba 代码: #反转字符串 def reverse2(s): ...
- python解奥数题_黄哥Python:Python代码解决一道小学奥数题
有如下小学奥数题: 有180盏亮着的电灯,各有一个拉线开关控制着,现按其顺序编号 1,2,3, ..., 180, 然后将编号为4的倍数的电灯线拉一下,再将 编号为5的倍数的灯线拉一下,最后将编号为6 ...
- python解奥数题_【新手】小白用python解小学奥数第五集
前言 因为工作的关系,长期教小学数学奥数,最近接触到python,学到了while:for 语句这里,于是就有了这个想法:用python解奥数题 1. 订立制作目标目标: 打印题目 输入逻辑 输出答案 ...
- PYTHON 解决小学奥数找规律之一
PYTHON 解决小学奥数找规律之一 这段代码主要是为了计算小学生奥数中一道找规律的填空题, 原题是1,2,5,13,34,()看规律填空, 通过分析发现规律就是第N个数字等于上一个数字加前面所有数字 ...
- 小学奥数题--饮料问题
偶然看到一个小学奥数题: 5个空瓶可以换1瓶汽水,某年级共有学生500名,要每个人都能喝一瓶汽水,他们至少要买多少瓶汽水? 方法1: 看到这个题目,首先想到的是列方程: x + x/5 + x/25 ...
- c语言 奥数题目及答案,科学网—C语言做一道小学奥数题 - 康建的博文
见过一道小学奥数题,记得题目是:从5月1日到7月1日数字0-9无重复的时间有多少个?(如0512142804是05月12日14:28:04,其中0.1.4有重复, 0526174839无重复). 大概 ...
- python解奥数题_#python# 来做奥数题
来做几道小学奥数题: 红花映绿叶 * 春 = 叶绿映花红 我们热爱科学 * 学 = 好好好好好好 少年早立志向 + 少年早立志向 = 有志何惧少年 学生 + 好学生 + 三好学生 = 2004 数 ...
- 实验3_B_小学奥数题
#实验3_B_小学奥数题 上小学四年级的小王同学虽然很笨,但他非常喜欢钻研奥数题.他遇到了这样的一个计算分数的问题:S(n)=1/3+3/5+5/7+-+n/(n+2),n为小于40的奇数.题目要求根 ...
最新文章
- Apache Unable to find the wrapper https - did you forget to enable it when you configured PHP?
- HTML5实现手势屏幕解锁
- BZOJ1296:[SCOI2009]粉刷匠
- [导入]Ms Ajax Lib- Object 类型扩展
- web实现数据交互的几种常见方式
- 如何了解Google Analytics(分析)和网站访问量
- 台式电脑键盘字母乱了_键盘侠的育儿经利用键盘引导学龄前儿童正确使用电脑、学习英文字母和拼音...
- 腾讯视频安卓版下载_腾讯课堂上传课程视频
- Spring Boot提交表单信息
- 解决/usr/local/lib/libglog.so.0: error adding symbols: DSO missing from command line
- Ubuntu su: authentication failure切换用户失败
- Mysql常用语句(记一下,免得忘)
- 【react】XXX项目创建这个过程
- 数学基础加强2---概率论与贝叶斯先验
- [VSX.002]VS开发环境模型
- 废柴日记之中秋特辑:那些年我们一直分不清楚的近义词们①
- 华为盒子联网后显示无法连接服务器,【当贝市场】华为盒子连上无线后不能上网怎么办?...
- 关于TUN/TAP网卡二三事以及物理网卡Ring buffer
- MODIS数据下载——CSV模式直接下载hdf文件
- Mac磁盘如何分区?教你Mac系统磁盘自由分区教程!