[求助]Fibonacci的一个问题
一个Fibonacci数列是这样定义的: f(1) = 1, f(2) = 1, f(n > 2) = f(n - 1) + f(n - 2)
现在, 对于每个给定的数K,计算f(K)的位数
我的程序
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void)
{
int cas; /* the number of cases*/
int num;
double q = sqrt(5);
double result;
scanf ("%d", &cas);
while (cas--)
{
scanf ("%d", &num);
result = log10((pow((1.0 + q) / 2, num) - pow((1.0 - q) / 2, num)) / q) ;
printf ("%.0lf\n", ceil(result + 0.000000001));
}
return 0;
}
[此贴子已经被作者于2007-9-22 21:40:40编辑过]