这是我的代码:
#include<bits/stdc++.h>
using namespace std;
long long a[100000009];
int main(){
a[1]=0;
a[2]=1;
for(int i=3;i<=1e7;i++){
a[i]=a[i-1]+a[i-2];
}
int T;
cin>>T;
for(int t=1;t<=T;t++){
int n;
cin>>n;
int l=0;
for(int i=1;i<=n+1;i++){
if(a[i]==n){
cout<<0<<" "<<0<<" "<<a[i]<<endl;
l++;
break;
}
}
if(!l){
l=0;
for(int i=1;i<=n+1;i++){
for(int j=1;j<=i;j++){
if(a[i]+a[j]==n){
cout<<0<<" "<<a[j]<<" "<<a[i]<<endl;
l++;
break;
}
}
if(l){
break;
}
}
if(!l){
l=0;
for(int i=1;i<=n+1;i++){
for(int j=1;j<=i;j++){
for(int k=1;k<=j;k++){
if(a[i]+a[j]+a[k]==n){
cout<<a[k]<<" "<<a[j]<<" "<<a[i]<<endl;
l++;
break;
}
}
if(l)break;
}
if(l)break;
}
if(!l){
cout<<-1<<endl;
}
}
}
}
return 0;
}