首页 > 编程语言 >"百钱买百鸡"的优化算法

"百钱买百鸡"的优化算法

时间:2022-10-20 18:26:32浏览次数:49  
标签:鸡翁 买百鸡 百钱 鸡母 鸡雏 够买 算法 100

    最近独到一篇关于"百钱买百鸡"的Python编程,觉得挺有意思,索性自己改写一下优化算法。     原题目:   # 我国古代数据加张邱建在《算经》中提出一个著名的数序为问题:
  # 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问
  # 鸡翁,鸡母,鸡雏几何?  分析:   1、这个题目其实重点并不是编程,看过很多人对这个编程最少套用了3层循环。   2、其实这道题一层循环即可搞定。有很多考试也会用到这道题,可以善存。  解题思路:重点在解方程
  # 1、设鸡翁=x,鸡母=y,鸡雏=z
  # 2、数量的关系:x + y + z = 100(只) ①
  # 3、钱的关系:5x + 3y + z/3 = 100 (钱) ②
  # 4、解方程:
      # 第一步:方程② × 3 = 15x + 9y + z = 300 ③
      # 第二步:③ - ① :14x + 8y = 200;
      # 第三步: 化简一下:7x + 4y = 100;
      # 第四步:移项 = y = (100 - 7x)/4
      # 所以:x只能是4的倍数,因为不能为小数,当然,如果题目变更,也就是是某个数的倍数即可。也就是你会找到循环的增倍关系。       因此:一次性循环即可搞定,下面用Python的编码来解决这个问题  

1 count = 1 
2 for i in range(0, 100, 4):  # 四的倍数
3     x = i
4     y = int((100 - 7*x)/4)
5     z = int(100 - x - y)
6     if x + y + z == 100 and x*y*z >=0 :  # 买够100值打印结果,且不能等于0
7         print("第{0}种够买情况:鸡翁{1}只,鸡母{2}只,鸡雏{3}只".format(count,x,y,z))
8         count = count + 1

    运行结果:

    第1种够买情况:鸡翁0只,鸡母25只,鸡雏75只
    第2种够买情况:鸡翁4只,鸡母18只,鸡雏78只
    第3种够买情况:鸡翁8只,鸡母11只,鸡雏81只
    第4种够买情况:鸡翁12只,鸡母4只,鸡雏84只

  注意点:切记算出的结果只能为整数且不能为0,这个不要忘记了

 

 

标签:鸡翁,买百鸡,百钱,鸡母,鸡雏,够买,算法,100
From: https://www.cnblogs.com/noah0532/p/16810768.html

相关文章

  • 【路径规划】基于麻雀算法的路径优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 基于蚁群结合遗传算法的路径规划问题附Matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 知乎热问:成为算法工程师的路上,掌握什么技术会感觉自我提升突飞猛进?
    作者:桔了个仔,南洋理工大学,Datawhale成员这个问题我犹豫了很久,三个月前就放草稿箱里了,一直没答的原因是,感觉这些年好像没有什么瞬间让我感觉自己水平突飞猛进,感觉这些年的进......
  • Tarjan算法
    Tarjan算法1算法简介还记得无向图判连通块吗?对于无向图中,判连通块是一件很容易的事。你只需要dfs(深度优先搜索)一下就可以了。但是,如果我们把无向图换成有向图呢?这......
  • 设计题:排序算法
    学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。注意:请勿改动主函数main和其它......
  • 根号算法学习记录
    根号算法专题分块基础根号平衡对于两个不同方面的复杂度,直接做的话一个很小,一个很大,我们用根号使得两者复杂度同阶级以降低总复杂度。这个叫根号平衡。一个典型的应用......
  • 算法数学笔记-五、群论入门
    #五、群论入门####群的定义可以理解为:$群G(S,*)=集合(S)+运算(*)$群的4个条件:在运算$*$作用下:1.封闭性2.存在单位元3.逆元存在4.$*$运算满足结合律 ####......
  • 【算法】基础DP
    参考资料背包九讲一、线性DP如果现在在状态i下,它上一步可能的状态是什么。上一步不同的状态依赖于什么。根据上面的分析,分析出状态和转移方程。注意:dp不一定只有......
  • 基于PRM(probabilistic roadmaps)算法的机器人路线规划算法matlab仿真
    目录一、理论基础二、MATLAB仿真程序三、仿真结果一、理论基础地图和机器人的模型如下:   1.使用一个2*2的网格大小(gridsize)和5度的角分辨率(angularresolu......
  • 基于SIFT特征提取的图像拼接算法matlab仿真
    目录一、理论基础二、核心MATLAB程序三、MATLAB仿真测试结果一、理论基础SIFT算法得到了图像中的特征点以及相应的特征描述,如何把两张图像中的特征点匹配起来呢?一般的......