SZ斐波拉契數列

Problem Description

Fibonacci sequence is familiar to you, right? Here comes the SZ Fibonacci sequence, with the property like the following formula.
F(n)= a (n=1)
F(n)= b (n=2)
F(n)= F(n-1)+F(n-2), n>2 and n is odd
F(n)= F(n-1)+F(n-2)+F(n-3), n>2 and n is even
Here a and b are constants. Given a,b,and n, your task is to calculate the F(n).

Input

First line of input comes a positive integer T(T<=10), indicating the number of test cases. Each test case contains three positive integer a,b and n(a<=10,b<=10,n<=30)

Output

Print one line containing an integer, i.e.F(n), for each test case.

Sample Input
2
1 2 3
1 3 6

Sample Output
3
24


#include <stdio.h>
int a,b,n;
int fib(int n)
{
    if(n==1) return a;
	if(n==2) return b;
	if(n>2&&n%2==0) return fib(n-1)+fib(n-2)+fib(n-3);
	if(n>2&&n%2!=0) return fib(n-1)+fib(n-2);
}
int main()
{
	//freopen("a.txt","r",stdin);
    int T,n;
    scanf("%d",&T);
    while(T--)
    {
    	scanf("%d%d%d",&a,&b,&n);
    	printf("%d\n",fib(n));
	} 
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章