C语言经典题目“小蜜蜂“代码
小蜜蜂(选作)
一只小蜜蜂在如下图所示的蜂窝上爬行。它爬行时,只能从一个格爬到相邻的大号格子中。例如,从 1 号格子可以爬到 2 号或者 3 号格子,从 2 号则可以爬到 3 号或者 4 号格子。
请问从一个格子 a 爬到一个格子 b 一共有多少种可行的路线。
输入:
分别是起始点 a 和终止点 b 的编号。( a 和 b 在 1~100 之间,且 a
输出:
程序:
#include"stdio.h"
#define N 50
int main()
{
int b[N]={0};
int c[N]={0};
int i,j,k,n,a1,a2,t,l;
b[1]=c[1]=1;
scanf("%d%d",&a1,&a2);
n=a2-a1+1;
for(j=3;j<=n;j++)
{
for(i=1;i
{
t=b[i]+c[i];
if(l==1)
{
c[i]=b[i]-1;
l=0;
}
else
c[i]=b[i];
b[i]=t;
if(b[i]>=10)
{
l=1;
b[i+1]=b[i+1]+1;
b[i]=b[i]%10;
}
}
}
k=N;
while(b[--k]==0){}
for(i=k;i>=1;i--)
printf("%d",b[i]);
printf("\n");
return 0;
}
#include
int main()
{
long double num1,num2,num3=0;
int a=0,b=0,i;
scanf("%d %d",&a,&b);
num1=1;
num2=2;
if(b-a==1)
printf("1\n");
else if(b-a==2)
printf("2\n");
else
{
for(i=3;i<=b-a;i++)
{
num3=num1+num2;
num1=num2;
num2=num3;
}
printf("%.0lf\n",num3);
}
return 0;
}