unsigned long fibonacci1(unsigned m)
{
int i;
unsigned long pol,num[2]={1,1};
if(i>2)
{
for(i=2;i<m;i++)
{
pol=num[0]+num[1];
num[0]=num[1];
num[1]=pol;
}
return pol;
}
else
{
return 1;
}
}
unsigned long fibonacci1(unsigned m)
{
int i;
unsigned long pol,num[2]={1,1};
if(i>2)
{
for(i=2;i<m;i++)
{
pol=num[0]+num[1];
num[0]=num[1];
num[1]=pol;
}
return pol;
}
else
{
return 1;
}
}
有两个小问题,改正如下:
unsigned long fibonacci1(unsigned m)
{
int i;
unsigned long pol, num[2] = { 1,1 };
if (m >= 2) //将i>2换成m>= 2
{
for (i = 2; i <=m; i++) //将i<m换成i<=m
{
pol = num[0] + num[1];
num[0] = num[1];
num[1] = pol;
}
return pol;
}
else
{
return 1;
}
}