鸡兔同笼程序代码(鸡兔同笼程序代码python)
鸡兔同笼的问题 c语言怎么样编写
输入说明:
输入为两个正整数,第一个为
M
的值,第二个为
N
的值,用空格分隔。
输出说明:
若有解,输出两个整数,用空格分隔,第一个代表鸡的只数,第一个代表兔子的只数;若无解,直接输出一个
0。
算法:以列举法写程序,让计算机从鸡为0开始执行计算,利用循环语句计算大量次数后,得出最终结果。
具体程序为:
#include
int
main()
{int
chicken,rabbit;//鸡,兔子
int
M,N;//头,脚
printf("M=,N=");
scanf("%d
%d",M,N);
for(chicken=0;chicken=M;chicken++)//鸡的数量从0到总头数M尝试
{if(chicken*2+rabbit*4==N)//如果总脚数与输入的总脚数相同
{printf("%d
%d",chicken,rabbit);//分别输出鸡、兔
return
0;//停止程序}}//for执行完表示找不到
printf("0");return
0;}
扩展资料:
鸡兔同笼问题算法有很多种,编写出的程序不尽相同。下面列举几种算法,编写程序会更为简单一些。
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
(1)假设全是鸡:2×35=70(只),鸡脚比总脚数少:94-70=24
(只)
兔子比鸡多的脚数:4-2=2(只),兔子的只数:24÷2=12
(只),鸡的只数:35-12=23(只)
假设全是兔子:4×35=140(只),兔子脚比总数多:140-94=46(只)
兔子比鸡多的脚数:4-2=2(只),鸡的只数:46÷2=23(只),兔子的只数:=35-23=12(只)(2)设鸡有x只,兔有y只。
解得
参考资料:鸡兔同笼(一种数学奥数题目)_百度百科
VB程序编程鸡兔同笼
这个题目中没有注明鸡兔共多少只,所以会有多个答案。如果有鸡兔共多少只,就在判断语句中加上。 if i*2+j*4=50 and i+j=xxx then
另外过程不完整,没有如Private Sub Form_Click()这个过程开始。加上就可以了。
就是鸡兔同笼 总头数为h,总脚数为f,求鸡兔各有多少只? x+y=h,2x+4Y=f,设h=16,f=40,写出c语言程序代码
就是鸡兔同笼
总头数为h,总脚数为f,求鸡兔各有多少只?
x+y=h,2x+4Y=f,设h=16,f=40,写出c语言程序代码
分析:头设为h,脚设为f,
鸡是两只脚,免为四只脚。
再设x为鸡的脚数,y为免的脚数。
则满足关系是
x*2+y*4=f
,
x+y=h;
算法采用穷举法,是将所有可能的结果全部穷举出来。
#include"stdio.h"
void
main()
{
int
h,f,x,y;
scanf("%d,%d",h,f);
//输入头数和脚数
for
(x=1;k=f;x++)
for
(y=1;y=f;y++)
{
if
(x*2+y*4==h
x+y==h)
printf("%d
%d\n",x,y);
//满足关系则输出结果
}
}
^
_
^
关于VB程序设计【鸡兔同笼】
Private Sub Command1_Click()
Dim j As Integer '代表鸡的个数
Dim t As Integer ’代表兔的个数
Dim t1 As Integer '腿的个数
For j = 1 To 40
t = 40 - j
t1 = j * 2 + t * 4
If t1 = 100 Then
Print "鸡="; j; "只"; "兔="; t; "只"
End If
Next
End Sub
python编程,鸡兔同笼
def?candr(head,?foot):
????rabit?=?1
????while?1:
????????foots?=?2?*?(head?+?rabit)
????????if?foots?==?foot:
????????????if?head?-?rabit??0:
????????????????print('兔={0}?鸡={1}?'.format(rabit,?head?-?rabit))
????????????else:
????????????????print("Data?Error")
????????????break
????????elif?foots??foot:
????????????print("Data?Error")
????????????break
????????else:
????????????rabit?+=?1
求编写一个鸡兔同笼的程序,如图,c语言
算这个有个最简单的算法。
(总脚数-总头数×鸡的脚数)÷(兔的脚数-鸡的脚数)=兔的只数
(94-35×2)÷2=12(兔子数) 总头数(35)-兔子数(12)=鸡数(23)
解释:让兔子和鸡同时抬起两只脚,这样笼子里的脚就减少了总头数×2只,由于鸡只有2只脚,所以笼子里只剩下兔子的两只脚,再÷2就是兔子数。
输入: 通过键盘输入总头数和总脚数
输出: 求出兔子有多少只,鸡有多少只,并输出。
#include stdio.h
int main(void){
int head, foot, num1, num2;
printf("请输入鸡和兔的总头数和总脚数,用空格隔开:\n");
scanf("%d %d", head, foot);
if (foot % 2 == 1 || foot head * 2){
printf("输入有误!\n");
return 0;
}
num1 = (foot - head * 2)/(4 - 2);
num2 = head - num1;
if ((num1 = 0) (num2 = 0))
printf("兔子个数:%d,鸡的个数:%d\n", num1, num2);
else
printf("输入有误!\n");
return 0;
}