main()
{
int i,tu1,tu2,tu3,m
tu1=1
tu2=1
pringf("请输入月份数(要求不大于24)")
scanf("%d",&m)
if(m==1||m==2)
{
printf("有一对兔子");
}
else if(m<2&&m<=24)
{
for(i=3i<=mi++)
{
tu3=tu1+tu2
tu1=tu2
tu2=tu3
}
printf("%d月的兔子数为#d\n",m,tu3)
}
else
{
printf("月份书输入不符合要求,程序结束\n")
}
}
那个i用来实现循环累加这个其实就是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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)