C语言经典题目:百钱买百鸡
来源:互联网 发布:算法导论 视频 编辑:程序博客网 时间:2024/05/13 12:37
百钱买百鸡问题
公元钱五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:假设公鸡有x只,母鸡y只,小鸡z只。那x+y+z==100,且根据价格5*x+3*y+z/3==100。只要满足上面的两个等式的数量就行。我们可以利用C语言3重循环来穷举所有的答案。
但是鸡的数目都是正整数,z/3可能会产生小数。所以不妨设买小鸡所用的钱为变量。
不妨设公鸡数为int cock;母鸡数为hen;买小鸡所用的钱为p_chickens;
还有分析等式发现公鸡的数量是<20只的,母鸡的数量是<=33只的,买小鸡所用的钱为p_chickens;
所以程序如下:
#include<stdio.h>int main(void){ int c; //公鸡的数量 int hen; //母鸡的数量 int p_chickens; //买小鸡所花的钱 for(c=0;c<20;c++) for(hen=0;hen<33;hen++) for(p_chickens=0;p_chickens<33;p_chickens++) if((5*c+3*hen+p_chickens==100)&&(c+hen+3*p_chickens==100)) printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n",c,hen,3*p_chickens); return 0;}
得到的答案是:
如果公鸡的数量不能为0,可以去掉第一个答案。
- C语言经典题目:百钱买百鸡
- C 语言经典题目
- 经典C语言题目之一
- C语言经典面试题目
- C语言面试经典题目
- C语言经典面试题目
- C语言—经典题目
- C语言经典题目及解题思路
- 经典的C语言面试题目
- 嵌入式程序员C语言笔试经典题目
- C语言方向_经典笔试题目
- 嵌入式c语言经典笔试题目
- C语言经典题目:水仙花数
- C语言超级经典400道题目
- C语言经典题目螺旋矩阵
- C 语言的一些经典题目
- 100条经典C语言笔试题目
- C语言经典题目及解题思路
- linux cat 命令详解
- Android Window类
- windows命令行下常用命令
- 运行模拟器找不到路径 AVD 更改路径
- POJ 3070 Fibonacci 用矩阵求费氏数列
- C语言经典题目:百钱买百鸡
- hibernate学习小结
- C++异常处理编程的三个境界
- NS-3 Developers Overview
- 工作反思 - 2012.03
- 拦截导弹(missile)
- windows2003server监控文件记录
- NS-3 Module overview
- 【树状数组求第k小+并查集】POJ 2985