P1755 斐波那契的拆分

2021-08-10 03:20:05 字數 789 閱讀 8173

題目背景

無題目描述

已知任意乙個正整數都可以拆分為若干個斐波納契數,現在,讓你求出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...