前言
这道题目有点儿意思,前两个数不成规律,从第三个数开始有规律。面对这样的问题,无法使用直接的思路去解决。
分析
既然,前两个数不成规律,那干脆将前两个数直接给出,从有规律的第三个数开始计算。
解决
直接上代码:
#include <stdio.h>
unsigned long long int fibonacci(unsigned int number);
int main(void)
{
int i;
printf("%s", "Enter a integer: ");
scanf("%d", &i);
printf("fibonacci: %llu\n", fibonacci(i));
}
unsigned long long int fibonacci(unsigned int number)
{
int a;
int b;
int c;
a = 0;
b = 1;
for (int x = 0; x < number; x++)
{
if (x <= 1)
{
c = x;
}
else
{
c = a + b;
a = b;
b = c;
}
}
return c;
}
注意,上述代码中,变量a和变量b是前两个不成规律的数,直接给出。一个细节,for循环语句头里面的变量x是从0开始。