首页 / 题库

P97307 - 斐波那契分解(fibonacci)

通过次数21 提交次数89 内存限制 512MB 时间限制1秒

描述

## 题目背景

斐波那契分解(Fibonacci decomposition),通常也叫 Zeckendorf 定理 或 Zeckendorf 表示,是组合数论里一个很经典的结果,即任何正整数都可以唯一地表示成若干个不相邻的斐波那契数之和。

## 题目描述

斐波那契数列是这样的一个数列,并满足如下递推式($n$是正整数):

$f\left(n\right)=\left\{\begin{aligned}1,\ \  n\leq 2 \\ f\left(n-1\right)+f\left(n-2\right),\ \  n\geq 3\end{aligned}\right.$

输入一个正整数$x$,把它表示成若干个不相连的斐波那契数之和。

提示:每次找到不超过这个正整数$x$的最大斐波那契数,然后$x$减去那个数值后继续求解。

输入

输入仅一个数字,即那个正整数$x$。

输出

输出仅一行,包含若干个斐波那契数,从大到小输出,它们不是相邻的斐波那契数,且和为输入的正整数$n$。

样例

  • 复制
  • 复制
  • 复制
  • 复制

提示

## 样例1解释

斐波那契数列为:1 1 2 3 5 8 13 21……。

20=13+5+2。且2、5、13不是相邻的斐波那契数。

## 样例2解释

斐波那契数列为:1 1 2 3 5 8 13 21……。21本身就是斐波那契数,当然它也可以表示成21=8+13。但是8和13是相邻的斐波那契数。

 

## 数据范围

对于所有测试数据有:$1\leq x\leq {10}^{18}$。
|测试点| $x≤$|
|-----|-----|
|1~3| ${10}^{3}$|
|4~6| ${10}^{9}$|
|7~10| ${10}^{18}$|

 

附件

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36