斐波拉契数列+二进制--夏令营

news/2025/2/24 17:31:42

1. f[40]={0,1}

数组赋值:只赋值前两个的话,剩余的自动为0

2.先要自己写出斐波拉契数列判断一下应该要多少个斐波拉契数样例,第39项已经超样例数500了,所以够用

3.就是把一个数字拆分成斐波拉契数列里的数的和嘛,但是要从数列中最大的数找,找到了就标注二进制数组中为1

4.输出时也是以高位开始,但是高位开始的就会有0不标记的,不作数,先排除,遇到第一个不为0的再把其后面的输出

#include <iostream>
using namespace std;

int main()
{
    int f[40]={0,1}, b[40], n, m;
    for (int i = 2; i < 40; i++)
    {
        f[i] = f[i - 1] + f[i - 2];
    }
    cin >> n;
    while (n--)
    {
        cin >> m;
        cout << m << " = ";
        for (int i = 39; i >= 0; --i)
        {
            if (f[i] <= m)
            {
                b[i] = 1;
                m -= f[i];
            }
            else b[i] = 0;
        }
        int j = 39;
        while (!b[j]) --j;
        while (j >=2) cout << b[j--];

        cout << " (fib)" << endl;
    }
    return 0;
}


http://www.niftyadmin.cn/n/4937204.html

相关文章

【前端|Javascript第4篇】详解Javascript的事件模型:小白也能轻松搞懂!

前言 在当今数字时代&#xff0c;前端技术正日益成为塑造用户体验的关键。而其中一个不可或缺的核心概念就是JavaScript的事件模型。或许你是刚踏入前端领域的小白&#xff0c;或者是希望深入了解事件模型的开发者&#xff0c;不论你的经验如何&#xff0c;本篇博客都将带你揭开…

【Docker】如何在设计 dockerfile 过程中,设置容器启动后的定时任务

如何在设计 dockerfile 过程中&#xff0c;设置容器启动后的定时任务 jwensh 2023.08.14 文章目录 如何在设计 dockerfile 过程中&#xff0c;设置容器启动后的定时任务1. 基于 alpine 设计 dockerfile 过程中&#xff0c;设置容器启动后的定时任务2. 基于 CentOS 设计 Dockerf…

探索Python中的函数和类:构建模块化和面向对象的程序

文章目录 &#x1f340;引言&#x1f340;函数&#xff1a;模块化编程的基石&#x1f340;类&#xff1a;面向对象编程的基石&#x1f340;函数和类的结合&#xff1a;构建高效的程序&#x1f340;简单的文字冒险游戏 &#x1f340;引言 Python作为一种多范式的编程语言&#x…

[Mongodb 5.0]聚合操作

本文对应Aggregation Operations — MongoDB Manual 正文 此章节主要介绍了Aggregation Pipeline&#xff0c;其实就是将若干个聚合操作放在管道中进行执行&#xff0c;每一个聚合操作的结果作为下一个聚合操作的输入&#xff0c;每个聚合指令被称为一个stage。 在正式开始学…

【多视重建】从Zero-123到One-2-3-45:多视角生成

文章目录 摘要一、引言二、相关工作三、Zero-1-to-33.1.学习如何控制照相机的视角3.2.视角作为条件的扩散3.3三维重构3.4 数据集 四、One-2-3-454.1 Zero123: 视角条件的 2D Diffusion4.2 NeRF优化&#xff1a;将多视图预测提升到三维图像4.3 基于不完美多视图的 神经表面重建*…

学习笔记整理-JS-05-数组

一、数组的定义和基本使用 1. 数组简介和定义 数组&#xff08;Array&#xff09;&#xff0c;顾名思义&#xff0c;用来存储一组相关的值&#xff0c;从而方便进行求和、计算平均数、逐项遍历等操作。 var scoreArr [96, 07, 76, 87, 100];数组是非常重要的一种数据结构。…

Chrome小技巧---多用户登录同一网站不串信息

测试中经常需要用到浏览器需要登录多个账号 但是有一个问题就是会串号 通过添加不同的用户再用这用户登录&#xff0c;就不串号了&#xff1a; 还可以在浏览器的偏好设置中添加启动地址 这样每次打开&#xff0c;就进到设置的地址中了

MISRA 2012学习笔记(2)-Rules 8.1-3

文章目录 Rules8.1标准的C环境Rule 1.1 程序不得违反标准 C 语法和约束&#xff0c;并且不得超出具体实现的编译限制Rule 1.2 不应该使用语言扩展Rule 1.3 不得发生未定义或严重的未指定行为 8.2未使用的代码(Unused code)Rule2.1 项目不应包含无法访问的代码Rule2.2 不得有无效…