C 语言:有趣的问题 鸡兔同笼
最编程
2024-07-12 13:34:24
...
J1:鸡兔同笼是中国古代的数学名题之一。 [1] 大约在1500年前,《孙子算经》中就记载了这个有趣的问题。
书中是这样叙述的:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的大致意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
J2:问题分析 算这个有个最简单的方法。
(头总数-鸡的头数)x 4+鸡的头数x2=94
问题迎刃而解,嘿嘿!
解决代码:
1 #include "stdio.h" 2 int main() 3 { 4 int Rabbit,Chick; 5 printf("鸡兔同笼问题:\n"); 6 for(Chick=0;Chick<35;Chick++) 7 { 8 for(Rabbit=9;Rabbit<35;Rabbit++){ 9 if(Chick*2+Rabbit*4==94 && Chick+Rabbit ==35 ){ 10 printf("鸡的数量为%d 兔子的数量为%d\n",Chick,Rabbit); 11 } 12 13 } 14 } 15 return 0; 16 }
J3:运行截图:
安排上了!
跑路咯!嘿嘿!
上一篇: 解决 "鸡兔同笼 "问题的方法有很多,但我喜欢这个方法。
下一篇: 解决鸡兔同笼问题
推荐阅读
-
C 语言如何实现对字符串的截取
-
力扣 1884.Egg Drop Two Egg(两个鸡蛋掉落) - 输入: n = 100 输出: 1414 解说 最佳策略是 - 从 9 楼扔下第一个鸡蛋。如果蛋碎了,那么 f 在 0 和 8 之间。从第 1 层扔第 2 个鸡蛋,然后每扔 1 层,分 8 次找到 f。总操作次数 = 1 + 8 = 9。 - 如果第一个鸡蛋没有破,那么从 22 楼扔第一个鸡蛋。如果蛋碎了,那么 f 介于 9 和 21 之间。将第二个鸡蛋从 10 楼往下扔,然后每扔一次往上扔一层楼,在 12 次尝试中找出 f。总操作次数 = 2 + 12 = 14。 - 如果第一个鸡蛋没有再次破碎,那么用类似的方法从 34、45、55、64、72、79、85、90、94、97、99 和 100 层扔第一个鸡蛋。 无论结果如何,最多需要扔 14 次才能确定 f。 一个非常有趣的问题 方法 1:动态编程
-
C++ 实际问题] B2078 有 k 个 3 的数
-
C++ Basic 面试问题 | C++ 中的野生指针和悬空指针有何区别?
-
深入了解 C 语言的内存分配函数:malloc、calloc、realloc
-
(C 语言中的 Gluttony) 4. Gluttony 地图优化和算法说明
-
(C 语言中的 Gluttony) 11.实现 Gluttony 的定向移动和同时刷新界面所面临的问题
-
C++ 语言特性 15 - 基于范围的 For 循环
-
(C 语言饕餮) 5. 显示饕餮身体的一个节点 - 3. 下一个节点的位置(地址/指针)
-
在过去 8 年中,编程语言的流行程度发生了哪些变化?PHP 已衰落,Objective-C 已过时