python_百文买百鸡问题
百文买百鸡问题
-- 不定方程
-- 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,如何买?
-- 列出方程式
x + y + z = 100
5x + 3y + z/3 =100
如何用计算机来算?
-- 计算机并不会消元法,但是计算机会拼,把数一个个代入进去,然后再计算,满足条件输个结果
-- 如何逻辑整理?
全买公鸡最多 20 只
全买母鸡不可能,必须搭配小鸡买 33只母鸡和 3只小鸡
全买小鸡可以买300只
题目要求,鸡的个数正好是100只
-- 如何程序化?
-- 先从买1只公鸡开始,然后买1只母鸡,剩下钱全部买小鸡,看满不满足100只鸡,
不满足的话,那就执行下一步
-- 先从买1只公鸡开始,然后买2只母鸡,剩下钱全部买小鸡,看满不满足100只鸡
不满足的话,母鸡数在加1,直到33,但是买了一只公鸡的情况下,
不可能买到33只母鸡,也不可能买到20只公鸡
-- 然后公鸡数目加1,再从1只母鸡买起,剩下钱买小鸡,依次循环下去
会发现一个有趣的问题,公鸡数目加1,母鸡就必须从1加到33,那就说明要用到两层循环,
还要进行条件判断,判断钱是不是正好加起来等于100文,不就解决了这个问题了
程序化:
#!/usr/bin/python3 __author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/' for x in range(1, 20): # 从1开始买公鸡,不包括20
for y in range(1, 33): # 从1开始买母鸡,不包括33
z = 100 - x - y # 计算剩余要买多少个小鸡,小鸡的个数要满足3的倍数
if (z%3 == 0) and (5*x + 3*y + z/3 == 100): # 判断买的计划是否符合条件
print('公鸡:%s 母鸡:%s 小鸡:%s'%(x, y, z))
python_百文买百鸡问题的更多相关文章
- 百钱买百鸡问题 php版本
/* * 百钱买百鸡问题 * * 我国古代数学家张丘建在<算经>一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一:百钱买百鸡,则翁.母 ...
- 华为OJ平台——百钱买百鸡问题
题目描述: 元前五世纪,我国古代数学家张丘建在<算经>一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一. 百钱买百鸡,问鸡翁.鸡母.鸡雏各几何? 思路: 这道题很简单,假 ...
- 用JS来计算百钱买百鸡
怎样用一百块买一百只鸡?已知公鸡5块一只,母鸡3块一只,小鸡一块钱3只: 需要用到for循环嵌套,并且通过优化代码,可以加快运行效率. <!DOCTYPE html> <html l ...
- 百钱买百鸡问题Java
//百钱买百鸡public class baiqianbaiji { static void BQBJ(int m,int n)//m为钱的总数,n为鸡数 { int z; for(int x = 0 ...
- Java_百钱买百鸡
题目:公鸡3文钱,母鸡2文钱,3只小鸡1文钱,百钱买百鸡,求多少公鸡,母鸡,小鸡? public class Work6{ public static void main(String[] args) ...
- Java实现 基础算法 百元买百鸡
public class 百元买百鸡 { public static void main(String[] args) { //母鸡 for (int i = 1; i < 33; i++) { ...
- python解决百钱买百鸡
百钱买百鸡 关注公众号"轻松学编程"了解更多. 现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只 要求:公鸡.母鸡,小鸡都要有,把100文钱花完,买的鸡的数量正好是10 ...
- C# 百钱买百鸡
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- Java练习习题,百钱买百鸡问题,用100文钱买鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡3只1文钱
需求说明: 用100文钱买鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡3只1文钱,要求公鸡.母鸡.小鸡都必须要有,刚好用完100文钱,公鸡.母鸡.小鸡的数量之和也是100. public class te ...
随机推荐
- Python数据分析与可视化(经典学习资料)
Numpy:来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发.这个是很基础的扩展,其余的扩展都是以此为基础.数据结构为 ...
- 关于ORM的浴室思考
这是一个由EF群引发的随笔 平时在一个EF群摸鱼,日常问题可以归纳为以下几种: 这条sql用linq怎么写? EF可以调用我写的存储过程么? EF好慢啊一些复杂查询写起来好麻烦-- 为什么会有这些问题 ...
- Android Studio C/C++开发环境配置
Android Studio C/C++开发环境配置 我的开发环境 : Win 10 + android studio 1.5 一, 安装NDK 开发环境: 1. Settings -> ...
- java基础概述
写代码: 1,明确需求. 2,分析思路. 3,确定步骤. 4,代码实现. Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用 ...
- C++返回值优化RVO
返回值优化,是一种属于编译器的技术,它通过转换源代码和对象的创建来加快源代码的执行速度.RVO = return value optimization. 测试平台:STM32F103VG + Keil ...
- 异常笔记--java编程思想
开一个新的系列,主要记一些琐碎的重要的知识点,把书读薄才是目的...特点: 代码少,概念多... 1. 基本概念 异常是在当前环境下无法获得必要的信息来解决这个问题,所以就需要从当前环境跳出,就是抛出 ...
- 第一个 spring-boot 程序
本例使用 maven 作为项目管理工具 新建 pom.xml 文件,添加 spring-boot-starter-web 依赖: <dependency> <groupId>o ...
- window下mySql数据库设置密码
方法一:用setpassword命令 首先登陆MySQL:mysql -u root 格式:mysql> set password for 用户名@localhost = password('新 ...
- Zabbix实战-简易教程(5)--Proxy和Agent端(源码和yum方式)
3.3.1 zabbix proxy安装(源码方式) 1.创建目录 mkdir -p /usr/local/zabbix 2.安装必要软件 yum install -y fping(若安装不成功) 或 ...
- MySQL优化 - 索引优化
索引(在MySQL中也叫做"键(key)")是存储引擎用于快速找到记录的一种数据结构. 索引对于良好的性能非常关键,尤其是当表的数据量越来越大时,索引对性能(查询)的影响愈发重要. ...