鱼C论坛

 找回密码
 立即注册
查看: 24549|回复: 346

[技术交流] 百钱买百鸡问题

  [复制链接]
发表于 2012-12-26 02:54:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
故事背景:

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,我国现代非著名教师小甲鱼也在大学时期一次家教的过程中,被同样的小学五年级问题难倒T_T。。。

该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?(咳咳,介个小甲鱼用人类的语言给大家解释下,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?)

题目分析:

如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡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!


代码清单(请自觉完成后回复可见):

游客,如果您要查看本帖隐藏内容请回复



评分

参与人数 1贡献 +1 收起 理由
cwhsmile + 1 计算机解方程都是用的穷举法么?

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 03:53:52 | 显示全部楼层
作为新学C的我,想出的诡异方法:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         static int x,y,z;
  5.         for(z=0;z<=100;z+=3)
  6.         {
  7.                 for(y=0;y<=100;y++)
  8.                 {
  9.                         for(x=0;x<=100;x++)
  10.                         {
  11.                                 if(100==x+y+z && 100==5*x+3*y+z/3)
  12.                                 {
  13.                                         printf("x=%d,y=%d,z=%d\n",x,y,z);
  14.                                 }
  15.                         }
  16.                 }
  17.         }
  18.         return 0;
  19. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 03:57:17 | 显示全部楼层
{:2_39:}居然是对的……这就是猜解么- -:funk:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 06:44:41 | 显示全部楼层
看一下答案学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 10:09:26 | 显示全部楼层
看看............
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 15:19:32 | 显示全部楼层
好东西
我喜欢好东西啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-26 23:34:42 | 显示全部楼层
看看怎么解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-27 16:46:45 | 显示全部楼层
考试考过的,当时不太会,类似枚举的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-28 15:36:11 | 显示全部楼层
百钱买百鸡问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-28 15:50:36 | 显示全部楼层
看看                          
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-2 20:31:50 | 显示全部楼层
看看那,老师。学习着,快乐着,跟着小甲鱼!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-2 22:33:17 | 显示全部楼层
package test;

public class testcheck{   
public static void main(String[] args) {
int a,b,c;
for ( a = 1; a <=20; a++){ /*外层循环控制鸡翁数*/
for( b=1;b<=33;b++){ /*内层循环控制鸡母数y在0~33变化*/
c=100-a-b;
if(a+b+c==100 && 5*a+3*b+1/3*c==100){
System.out.println("鸡翁有"+a);
System.out.println("母鸡有"+b);
System.out.println("母鸡有"+c);
System.out.println("-------------------");
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-3 14:09:53 | 显示全部楼层
除了穷举法,还有没有其他比较好的算法啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-7 13:10:30 | 显示全部楼层
不看答案解答有困难啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-8 19:28:13 From FishC Mobile | 显示全部楼层
看看............
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-9 17:07:19 | 显示全部楼层
呵呵,给力啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-10 15:27:21 From FishC Mobile | 显示全部楼层
看看答案。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-12 16:31:12 | 显示全部楼层
看看看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-31 10:11:34 | 显示全部楼层
好奇瞄下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-3 13:59:04 | 显示全部楼层
好厉害啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 17:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表