P1755 斐波那契的拆分

题目背景

题目描述

已知任意一个正整数都可以拆分为若干个斐波纳契数,现在,让你求出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

斐波那契+dfs

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define M 100010
#define N 1000000000
using namespace std;
bool flag;
int T,x,sum,a[M],f[M];
int read()
{
    ,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return x*f;
}
void dfs(int tot,int s)
{
    if(s>x||flag) return  ;
    if(s==x)
    {
        printf("%d=%d",x,a[tot]);
        ;i>=;i--)
         printf("+%d",a[i]);
        printf("\n");
        flag=true;return ;
    }
    ;i--)
     if(s+f[i]>x) continue;
     ]=f[i],dfs(tot+,s+f[i]),a[tot+]=;
}
int main()
{
    f[]=,f[]=;
    ;i;i++)
    {
        f[i]=f[i-]+f[i-],sum=i;
        if(f[i]>N) break;
    }
    T=read();
    while(T--)
      x=read(),flag=,dfs(,);
    ;
}

洛谷——P1755 斐波那契的拆分的更多相关文章

  1. 洛谷 P1755 斐波那契的拆分

    P1755 斐波那契的拆分 题目背景 无 题目描述 已知任意一个正整数都可以拆分为若干个斐波纳契数,现在,让你求出n的拆分方法 输入输出格式 输入格式: 一个数t,表示有t组数据 接下来t行,每行一个 ...

  2. 洛谷P1755 斐波那契的拆分

    题目背景 无 题目描述 已知任意一个正整数都可以拆分为若干个斐波纳契数,现在,让你求出n的拆分方法 输入输出格式 输入格式: 一个数t,表示有t组数据 接下来t行,每行一个数n(如题) 输出格式: t ...

  3. 洛谷P1962 斐波那契数列【矩阵运算】

    洛谷P1962 斐波那契数列[矩阵运算] 题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) ( ...

  4. 洛谷 P1306 斐波那契公约数

    洛谷 P1306 斐波那契公约数 题目描述 对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少? ...

  5. 洛谷P3938 斐波那契

    题目戳 题目描述 小 C 养了一些很可爱的兔子. 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍:一对兔子从出生后第二个月起,每个月刚开始的时候都会产下一对小兔子 ...

  6. 洛谷P1962 斐波那契数列 || P1349 广义斐波那契数列[矩阵乘法]

    P1962 斐波那契数列 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数 ...

  7. 洛谷 P1306 斐波那契公约数 解题报告

    P1306 斐波那契公约数 题意:求\(Fibonacci\)数列第\(n\)项和第\(m\)项的最大公约数的最后8位. 数据范围:\(1<=n,m<=10^9\) 一些很有趣的性质 引理 ...

  8. 洛谷——P2626 斐波那契数列(升级版)矩阵

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...

  9. 洛谷 P2626 斐波那契数列(升级版)

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...

随机推荐

  1. python学习笔记八:文件与目录

    一.文件的打开和创建 1.打开 open(file,mode): >>>fo = open('test.txt', 'r') >>>fo.read() 'hello ...

  2. Ajax异步与JavaScript的一些初浅认识

    向服务器请求数据的技术 有以下五种常用技术用于向服务器请求数据 XMLHttpRequest(XHR) Dynamic script tag insertion(动态脚本标签插入) iframes C ...

  3. Python 推导式推导序列

    推导式是从一个或多个迭代器快速创建序列的方法.它可以将循环和条件判断结合,从而避免冗长的代码. 一.列表推导式 语法: [表达式 for item in 可迭代对象] [表达式 for item in ...

  4. Python 3基础教程13-写入文件

    前面介绍了函数,这篇我们就利用Python 内构函数open来写入字符串到txt文件里. 直接看demo.py 这里有一个小问题,如果我要输入时中文到txt文件会报unicode错误,暂时没法解决.

  5. Flask 教程精简版之一(系列片)

    Flask 教程精简版之一(系列片) 现在连教程都有精简版 准备 1.要学会 Flask 之前必须掌握 Python 基本使用. 2.会使用简单的 HTML 效果更加 3.若想练气功必须先自暴自弃 简 ...

  6. http协议--留

    1.http消息结构 *http客户端,即web浏览器,链接到服务器,向服务器发送一个http请求的目的 *http服务器,即web服务,接受请求,并向客户端发送http响应数据 http统一资源标识 ...

  7. KMS激活windows

    slmgr /skms 106.0.6.209 slmgr /ato .查看当前系统是否永久激活,命令的作用是查看当前许可证状态的截止日期 slmgr.vbs -xpr 查看Windows正式版产品密 ...

  8. CMake Tutorial & Example

    Tutorial CMakeLists用于告诉CMake我们要对这个目录下的文件做什么事情 cmake 的特点主要有: 1,开放源代码,使用类 BSD 许可发布.http://cmake.org/HT ...

  9. ajax的多次请求问题

    我们在用ajax请求数据时,可能会遇到一次点击多次触发的可能.(比如说:ajax 的 onreadystatechange 事件就会触发多次:这是因为 onreadystatechange 是一个事件 ...

  10. WeUI 在小程序中使用

    才接触小程序.想找个ui框架..也不知道咋弄: 下载地址:点击打开链接 将weui-wxss-master\dist\style\weui.wxss文件导入到小程序项目的根目录下 引入weui.wxs ...