#TP1008. 游戏
游戏
题目描述
小王和他的朋友们都非常喜欢研究数学问题。
在斐波那契数列中,每个数字都是通过将序列中的前两个数字相加而生成的。我们将从数字 1
和 2
开始,因此顺序是 1、2、3、5、8、13、21、34、55、89、...
数字 的 Zeckendorf(齐肯多夫) 表示由斐波那契数列中的不同数字组成,这些数字的总和为 ,其中没有使用斐波那契数列中的两个相邻数字。可以证明,最终答案是唯一的。
例如:
21
由单个数字 21
表示;
21
不用 8
和 13
表示,即使它们的总和是 21
,因为 8
和 13
在斐波那契数列中是相邻的;
100
用 3
, 8
,89
表示。
齐肯多夫(Zeckendorf)定理表示任何正整数都可以表示成若干个不连续的斐波那契数(不包括第一个斐波那契数)之和。
显然,数字 的 Zeckendorf 表示始终包含斐波那契数列中不大于 的最大数字。
现在小王给你一个数字 ,请你按照题目中的 Zeckendorf 表示形式输出数字(按照从大到小的顺序)
输入格式
输入一个整数 。
输出格式
请输出题目中的 Zeckendorf 表示形式输出数字(按照从大到小的顺序)
样例
100
89 8 3
说明/提示
对于 的数据,,且答案最多由三个数字组成。
对于 的数据, 。
相关
在以下作业中: