百钱买百鸡---C++

简介: 百钱买百鸡---C++

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?


思路分析


设母鸡,公鸡,小鸡分别为x,y,z只.可以列出方程组


x+y+z=100

5x+3y+z/3=100

由于钱必须都用上所以 Z 必须能整除三.可以将第二个式子 * 3 => 15 x+9y+z = 300.


再分析x,y,z的取值:


x:0–19 不可能全买母鸡

y:0-33

z: 0 - 99 必须是3的倍数.


代码如下

#include<iostream>
using namespace std;
int main()
{
  //int x, y;// i :0-20   j:1-33  k:1-100
  for (int i = 0; i < 20; i++)
  {
    for (int j = 0; j <= 33; j++)
    {
      for (int k = 0; k < 100; k++)
      {
        if ( (i+k+j) == 100 && (15*i + 9 *j + k) == 300) {
          cout <<"cock="<< i << ",hen=" << j << ",chicken=" << k << endl;
        }
      }
    }
  }
  return 0;
}

运行结果

20210313125128808.png

收获

如果想要Z整除3,那么只需要把表达式扩大三倍即可.这样当Z不能整除3的情况便被舍去了.

相关文章
|
6月前
|
机器学习/深度学习 并行计算 定位技术
NYOJ22-吝啬的国度
NYOJ22-吝啬的国度
29 0
7-10 百钱百鸡
百鸡问题:“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁母雏各几何。” 百鸡问题是北魏数学家张丘建在《张丘建算经》中提出的一个世界著名的不定方程问题,它给出了由三个未知量的两个方程组成的不定方程组的解。
7-10 百钱百鸡
|
6月前
|
C++
【PTA】​L1-079 天梯赛的善良​ (C++)
【PTA】​L1-079 天梯赛的善良​ (C++)
104 0
【PTA】​L1-079 天梯赛的善良​ (C++)
|
6月前
|
C++
百钱百鸡(代码实现)
百钱百鸡(代码实现)
76 0
华为机试HJ72:百钱买百鸡问题
华为机试HJ72:百钱买百鸡问题
114 0
百钱买百鸡
百钱买百鸡
81 0
|
测试技术
第十届蓝桥杯题解 ---渣渣分析
第十届蓝桥杯题解 ---渣渣分析
|
索引
每日一题——山羊拉丁文
每日一题——山羊拉丁文
114 0
每日一题——山羊拉丁文
PTA 1092 最好吃的月饼
月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。
110 0