教师资格证考试中的高中信息技术流程图:
#include
int qiongju(int head,int foot,int *chicken,int *rabbit)
{
int re,i,j;
re=0;
for(i=0;i<=head;i++)
{
j=head-i;
if(i*2+j*4==foot)
{
re=1;
*chicken=i;
*rabbit=j;
}
}
return re;
}
void main()
{
int chicken,rabbit,head,foot;
int re;
printf("穷举法求解鸡兔同笼问题:\n");
printf("输入头数:");
scanf("%d",&head);
printf("输入脚数:");
scanf("%d",&foot);
re=qiongju(head,foot,&chicken,&rabbit);
if(re==1)
{
printf("鸡有:%d只,兔有:%d只。\n",chicken,rabbit);
}
else
{
printf("无法求解!\n");
}
}
鸡兔同笼的n种解法如下:
1、枚举法
分别把鸡和兔子的腿的的数量填入表格中,知道找到正确的答案为止,这种方法只适合与课堂教学中的探索和对其他方法的引导,由于这种方法太过笨拙,用时较多,在日常的练习和考试中一般不适用。所以这种方法大家了解即可。
2、砍腿法
如果把兔的两条腿去掉,那兔就和鸡一样都是两条腿,现在笼子里脚的数量应该是35乘2=70只脚,原有94只脚,减少94减70=24脚,一只兔被砍去2条腿,脚的总数量减少2只脚,那减少了24只脚,就有24除2=12只兔子被砍腿,然后总数减去兔子数量就是鸡的数量。
鸡兔同笼问题是中国古代著名趣题之一。该问题大约在1500年前的《孙子算经》中就有记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”书中用算术方法来解:脚数的1/2减头数,即94/2-35=12为兔数;头数减兔数即35-12=23为鸡数。
现常用列方程的方法求解。许多小学算术应用题都可以转化成这类问题,或者用解它的典型解法“假设法”来求解,因此很有必要学会它的解法和思路。
扩展资料:
1、鸡兔同笼的解法有假设法、公式法、方程法等几种方法。
2、假设法:假设全是鸡或者假设全是兔子。
3、一元一次方程法:假设鸡或兔有x只,另外一个为总数-x。
4、二元一次方程组:设鸡有x只,兔有y只。x+y=总只数,2x+4y=总脚数。
5、抬腿法:假设兔子抬起两只脚。
6、公式法
公式1:(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数。
总只数-鸡的只数=兔的只数。
公式2:( 总脚数-鸡的脚数×总只数)÷(兔的脚数-鸡的脚数)=兔的只数。
总只数-兔的只数=鸡的只数。
公式3:总脚数÷2-总头数=兔的只数。
总只数—兔的只数=鸡的只数。
公式4:兔总只数=(鸡兔总脚数-2×鸡兔总只数)÷2 鸡的只数=鸡兔总只数-兔总只数。
公式5:鸡的只数=(4×鸡兔总只数-鸡兔总脚数)÷2 兔的只数=鸡兔总只数-鸡的只数。
公式6 :4×+2(总数-x)=总脚数 (x=兔,总数-x=鸡数,用于方程)。
鸡为51只,兔为32只。鸡有两只脚,兔子有四只脚,2+4=6,一只鸡一只兔一共6只脚。兔子的算法:(230-2×19)÷6=32只,鸡的算法:32+19=51只。验证:32×4=128,兔子共有128只脚,51×2=102,鸡共有102只脚,128+102=230,笼中一共230只脚。