这个其实就凳颤是Fibonacci数列的应用。
f(1)=f(2)=1 (i=1或者i=2)
f(i)=f(i-1)+f(i-2) (i>2)
附 几种求Fibonacci数列前20位的方法
#include<stdio.h>
int function(int n)
int main()
{
int i
for(i=1i<=20i++)
printf("%d ",function(i))
printf("\n")
return 0
}
int function(int n)
{
if(n==1||n==2)return 1
else return function(n-1)+function(n-2)
}
********************************************************************************
#include<stdio.h>
int main()
{
int i,a[20]
for(i=0i<20i++)
{
if(i==0||i==1)a[i]=1
else a[i]=a[i-1]+a[i-2]
printf("%d ",a[i])
}
printf("\n")
return 0
}
********************************************************************************
#include <stdio.h>
int main()
{
int n
int fn
for(n=1n<21n++)
{
switch(n)
{
case 1:{fn=1break}
case 2:{fn=1break}
default:
{
int a=1,b=1,i,j
for(i=3i<=ni++)
{
j=a+b
a=b
b=j
}
fn=j
}
}
printf("%d ",fn)
}
return 0
}
1、渣悄编写思路如下:
假设有x只鸡,y只兔,两者一共有m只头,n只脚,则有:
x + y = m 2 * x + 4 * y = n
即得到关系式,x + 2y =n/2 , x + y = m , y = n/2 - m , x = 2 * m - n/2。
2、代码及注释如下:
#include<stdio.h>
main ( )
{
int a, b
printf("请分别输入动物头与脚的数目:\n")
scanf("%d%d",&友梁明a,&b)//头好告数为a, 脚数目为b;
printf("一共有%d只鸡,%d只兔子\n",b/2-a,2 * a - b/2)
}
扩展资料:
常见鸡兔同笼类型问题:
1、班主任张老师带五年级(2)班50名同学栽树,张老师栽5棵,男生每人栽3棵,女生每人栽2棵,总共栽树120棵,问几名男生,几名女生?
2、大油瓶每瓶装4千克,小油瓶2瓶装1千克,现有100千克油装了共60个瓶子。问大小油瓶各多少个?
3、小毛参加数学竞赛,共做20道题,得67分,已知做对一道得5分,不做得0分,错一题扣1分,又知道他做错的题和没做的同样多。问小毛做对几道题?
4、有蜘蛛,蜻蜓,蝉三种动物共18只,共有腿118条,翅膀20对(蜘蛛8条腿;蜻蜓6条腿,2对翅膀;蝉6条腿,1对翅膀),三种动物各几只?
参考资料来源:百度百科-鸡兔同笼问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)