代码如下
#include<iostream>
#include<string>
using namespace std;
unsigned long long num[50] = {0,1,1};
int main(){
int t,n;
cin>>t;
for(int i = 3;i < 50;i += 1)
{
num[i] = num[i - 1] + num[i - 2];
}
for(int ct = 0;ct < t;ct += 1)
{
int used[50] = {},index = 49;
cin>>n;
int temp = n,count = 0;
while(temp != 0)
{
if(temp < num[index])
{
index -= 1;
}
else
{
temp -= num[index];
used[count] = num[index];
count += 1;
}
}
if(temp == 0)
{
string s;
cout<<n<<'=';
for(int j = count - 1;j >= 0;j -= 1)
{
s = s + to_string(used[j]) + "+";
}
s.pop_back();
cout<<s<<endl;
break;
}
}
}