題目背景
無題目描述
已知任意乙個正整數都可以拆分為若干個斐波納契數,現在,讓你求出n的拆分方法
輸入輸出格式
輸入格式:
乙個數t,表示有t組資料
接下來t行,每行乙個數n(如題)
輸出格式:
t行,每行乙個字串,表示拆分方法(格式:n=a1+a2+a3+..+an),要求從小到大輸出
輸入輸出樣例
輸入樣例#1: 複製
input1:1
1 input2:1
10 輸出樣例#1: 複製
output1:1=1;
output2:10=2+8;
說明若有多組資料,以個數最小的為準,若仍有多組,輸出右邊盡量大的一組
對於100%的資料 t<=1000 1<=n<=10^9
從大到小
#include
#include
using
namespace
std;
int a[60],i,j,x,t,tot,pd,b[60],all;//b陣列用於記錄
void work(int k)//暴搜
for(int i=all;i>=1;i--)
}}int main()
all=i-1;
scanf("%d",&t);
for(i=1;i<=t;i++)
cout
<1]<0;//初始化
tot=0;//初始化
}}
題解 P1755 斐波那契的拆分
這題其實打乙個暴力就能過,具體思路是先把斐波那契數列的前45項求出來 只要大於10 9就行了,弄個五的倍數吉利qaq 斐波那契數列求出來了後,進行乙個貪心 當前最大可選那個 從後面大的資料開始算 原題 若有多組資料,以個數最小的為準,若仍有多組,輸出右邊盡量大的一組 貪心過後,把答案存在乙個陣列裡,...
洛谷 P1755 斐波那契的拆分
無已知任意乙個正整數都可以拆分為若干個斐波納契數,現在,讓你求出n的拆分方法 輸入格式 乙個數t,表示有t組資料 接下來t行,每行乙個數n 如題 輸出格式 t行,每行乙個字串,表示拆分方法 格式 n a1 a2 a3 an 要求從小到大輸出 輸入樣例 1 複製 input1 1 1input2 1 ...
P3938 斐波那契
腦子還真的是好東西,自己太笨了 容易發現父親節點和兒子節點的關係 兒子節點大於父親節點 兒子節點和父親節點之差為斐波那契數,且斐波那契數為小於兒子節點的最大的乙個 1e12中有60左右的斐波那契數,打出表來查詢就好了,深度不超過60 include include include include i...