C语言解决百钱买百鸡问题

C语言解决百钱买百鸡问题,第1张

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

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

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

题目分析

如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡x只,母鸡y只,小鸡z只,得到以下方程式组:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100

如果用解方程的方式解这道题需要进行多次猜解,计算机的一个优势就是计算速度特别暴力并且无怨无悔,所以我们可以欺负她、蹂躏她!因此我们用穷举法的方式来解题,需要101^3次猜解,但对于计算机来说,小CASE!

代码清单:

#include <stdio.h>int main(){  int i,j,k;  printf("百元买百鸡的问题所有可能的解如下:\n");  for( i=0; i <= 100; i++ )    for( j=0; j <= 100; j++ )      for( k=0; k <= 100; k++ )      {        if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )        {          printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n",i,k);        }      }  return 0;}

运行结果:

百元买百鸡的问题所有可能的解如下:公鸡 0 只,母鸡 25 只,小鸡 75 只公鸡 4 只,母鸡 18 只,小鸡 78 只公鸡 8 只,母鸡 11 只,小鸡 81 只公鸡 12 只,母鸡 4 只,小鸡 84 只

总结

以上是内存溢出为你收集整理的C语言解决百钱买百鸡问题全部内容,希望文章能够帮你解决C语言解决百钱买百鸡问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1248978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存