题目:

f(n+1) = f(n) - f(n - 1),可以写f(n) = f (n - 1) - f(n - 2),两式相加,得f(n) = -f(n-3),那么这个就是一个周期为6,且第4个是第一个的相反数…第五个是第二个的相反数,第六个是第三个的相反数
#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;
int main(){
int t;scanf("%d",&t);
ll a,b,k;
while(t--){
cin>>a>>b>>k;
int cnt = k/3;
k%=3;
if(k == 0) cnt--,k = 3;
if(cnt&1){
if(k == 1) cout<<-a<<endl;
else if(k == 2) cout<<-b<<endl;
else if(k == 3) cout<<(a-b)<<endl;
}else{
if(k == 1) cout<<a<<endl;
else if(k == 2) cout<<b<<endl;
else if(k == 3) cout<<(b-a)<<endl;
}
}
}
1061

被折叠的 条评论
为什么被折叠?



