E.Function
Define a function f(n)=(f(n-1)+1)/f(n-2). You already got f(1) and f(2). Now, give you a number m, please find the value of f(m).
Input
There are several test cases. Each case contains three integers indicating f(1), f(2) and m ( 1 <= f(1), f(2), m <= 1000,000,000).
Output
For each case, please output the value of f(m), rounded to 6 decimal places.
Sample Input
1 1 3
Sample Output
2.000000
找规律吧,直接算就会超时了。
#include <stdio.h>
#include <stdlib.h>
int main()
{
// freopen("fun.in","r",stdin);
// freopen("out.txt","w",stdout);
double result[6],a,b;
int i;
long long m;
while(~scanf("%lf%lf%lld",&a,&b,&m))
{
result[1]=a;result[2]=b;
for(i=3;i<=5;i++)
{
result[i]=(double)(result[i-1]+1)/result[i-2];
}
m=m%5;
if(m==0)
m=5;
printf("%.4lf\n",result[m]);
}
return 0;
}