百钱买百鸡---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的情况便被舍去了.

相关文章
7-10 百钱百鸡
百鸡问题:“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁母雏各几何。” 百鸡问题是北魏数学家张丘建在《张丘建算经》中提出的一个世界著名的不定方程问题,它给出了由三个未知量的两个方程组成的不定方程组的解。
7-10 百钱百鸡
1314:【例3.6】过河卒(Noip2002)
1314:【例3.6】过河卒(Noip2002)
143 0
|
6月前
|
C++
【PTA】​L1-079 天梯赛的善良​ (C++)
【PTA】​L1-079 天梯赛的善良​ (C++)
106 0
【PTA】​L1-079 天梯赛的善良​ (C++)
|
6月前
|
C++
百钱百鸡(代码实现)
百钱百鸡(代码实现)
81 0
华为机试HJ72:百钱买百鸡问题
华为机试HJ72:百钱买百鸡问题
114 0
HJ76--尼科彻斯定理
HJ76--尼科彻斯定理
108 0
|
测试技术 C++
【PTA天梯赛】L1-001 L1-002 L1-003 L-004 L-005 L-006 L-007 L-008 L-009 L1-010 c++
【PTA天梯赛】L1-001 L1-002 L1-003 L-004 L-005 L-006 L-007 L-008 L-009 L1-010 c++
215 1
百钱买百鸡
百钱买百鸡
83 0
|
存储 机器学习/深度学习 算法
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
276 0
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
|
定位技术 容器
PTA天梯训练赛一&二
PTA天梯训练赛一&二
117 0