#2#4#5WA求教
查看原帖
#2#4#5WA求教
1284582
F_L_Bird楼主2024/8/6 10:57

代码如下

#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;
		}
	}
}
2024/8/6 10:57
加载中...