文章目录

  • 1. 题目描述
    • 1.1. Limit
    • 1.2. Problem Description
    • 1.3. Input
    • 1.4. Output
    • 1.5. Sample Input
    • 1.6. Sample Output
    • 1.7. Notes
    • 1.8. Source
  • 2. 解读
  • 3. 代码

1. 题目描述

1.1. Limit

Time Limit: 1000 ms

Memory Limit: 262144 kB

1.2. Problem Description

阿炳是一个精通文理的小机灵鬼,它是一个解锁专家,也是一个诗人。一天,阿炳受邀前往黄台甫马哈那坤弃他哇劳狄希阿由他亚马哈底陆浦欧叻辣塔尼布黎隆乌冬帕拉查尼卫马哈洒坦,也就是今天俗称的曼谷,解一个被文字锁锁住的宝箱。

文字锁是这样描述的,对于给定的一个 n n n,问存在多少正整数x满足:

  1. x > 0 x>0 x>0;
  2. x x x 二进制位的位数不超过 n n n,例如 5 = 101 ( 2 ) 5=101(2) 5=101(2),它的二进制位的位数就是 3 3 3;
  3. x x x 的二进制形式,不存在连续的两个二进制位上的数都是 1。例如 3 = 11 ( 2 ) 3=11(2) 3=11(2),则不满足条件,但是 5 = 101 ( 2 ) 5=101(2) 5=101(2) 则满足条件。

阿炳思考了5分钟后,望着山下的美景,不禁写起了诗:
飞花两岸照船红,
波光山色两盈盈。
那年私语小窗边,
妾心陌上悠扬蝶。
原来阿炳不会解,为了掩饰尴尬,只好作诗缓解一些尴尬的气氛,阿炳作为一个知名解锁专家,当然是要面子的嘛,所以,阿炳请你帮帮他解决这个问题。


1.3. Input

多测试数据样例,测试样例组数不超过10000。

每组数据一行,一个数 n ( 1 ≤ n ≤ 100 ) n(1 \le n \le 100) n(1≤n≤100)。


1.4. Output

每组数据输出一个数,满足条件的正整数 x x x 的个数取模 433494437(即答案需要 %433494437)


1.5. Sample Input

1
3

1.6. Sample Output

1
4

1.7. Notes

当 n = 1 n=1 n=1时,只有 x = 1 x=1 x=1 满足条件。

当 n = 3 n=3 n=3时,有 x = 1 ( 001 ) , x = 2 ( 010 ) , x = 4 ( 100 ) , x = 5 ( 101 ) x=1(001), x=2(010), x=4(100), x=5(101) x=1(001),x=2(010),x=4(100),x=5(101) 共4种情况。

1.8. Source

牛客网 NC200607 A-解锁专家


2. 解读

将前几个数字列出来,和斐波那契数列一对比,会发现这就是斐波那契数列的变形。递推方程为 f ( n ) = f ( n − 1 ) + f ( n − 2 ) + 1 f(n) = f(n-1) + f(n-2) + 1 f(n)=f(n−1)+f(n−2)+1,初始条件为 f ( 0 ) = 0 f(0) = 0 f(0)=0, f ( 1 ) = 1 f(1) = 1 f(1)=1。

Table 1. 样例数据分析 \text{Table 1. 样例数据分析} Table 1. 样例数据分析

n n n 二进制数位 结果 斐波那契
1 ( 0 ) B (0)_B (0)B​ 1 1
2 ( 00 ) B (00)_B (00)B​ 2 1
3 ( 000 ) B (000)_B (000)B​ 4 3
4 ( 0000 ) B (0000)_B (0000)B​ 7 5
5 ( 00000 ) B (00000)_B (00000)B​ 12 8
6 ( 000000 ) B (000000)_B (000000)B​ 20 13
7 ( 0000000 ) B (0000000)_B (0000000)B​ 33 21
8 ( 00000000 ) B (00000000)_B (00000000)B​ 54 34

3. 代码

#include<iostream>
#include<algorithm>
const long long num = 1e2 + 1;
using namespace std;long long list[num];// 通过递推方程进行计算
void calculate(int n){list[0] = 0;list[1] = 1;for(int i = 2; i <= n; i++){list[i] = (list[i-1] + list[i-2] + 1)% 433494437;}
}int main(){long long n;long long ans = 0;calculate(num-1);// 输入while(scanf("%lld", &n) != EOF){ans = list[n];printf("%lld\n", ans);}
}

联系邮箱:curren_wong@163.com

Github:https://github.com/CurrenWong

欢迎转载/Star/Fork,有问题欢迎通过邮箱交流。

牛客网 NC200607 A-解锁专家 斐波那契数列相关推荐

  1. 斐波那契数列前20项_牛客网 NC200607 A-解锁专家 斐波那契数列

    目录 目录 1. 题目描述 1.1. Limit 1.2. Problem Description 1.3. Input 1.4. Output 1.5. Sample Input 1.6. Samp ...

  2. 利用graphviz模块展示斐波那契数列的递归函数调用图(Python)

      在博客动态规划法(一)从斐波那契数列谈起中,在求解斐波那契数列的第n项时,我们采用了递归方法和动态规划法来求解,当然递归方法的效率很差.本文将利用graphviz模块来展示斐波那契数列的递归函数调 ...

  3. 牛客网-斐波那契数列

    牛客网编程题–>大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0),其中n<=39. 用递归结构写斐波那契数列. #include < ...

  4. 牛客网 斐波那契数列

    剑指offer 牛客网 斐波那契数列 # -*- coding: utf-8 -*- """ Created on Mon Apr 8 15:35:14 2019@aut ...

  5. 牛客网(剑指offer) 第七题 斐波那契数列

    //问题描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 function Fibonacci($n){//显然递归超时了 2333333333 ...

  6. 牛客网刷题java之(斐波那契数列)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

    题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 对于本题,前提只有 一次 1阶或者2阶的跳法. a.如果两种跳法, ...

  7. 【牛客网】星际密码(斐波那契数列)

    题目链接: https://www.nowcoder.com/questionTerminal/34f17d5f2a8240bea661a23ec095a062 解题思路: 很难发现,这是斐波那契数列 ...

  8. 斐波那契数列 牛客网 python

    描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1). n≤39 示例1 输入:4 返回值:3 代码: class Solution: ...

  9. 牛客18987 粉嘤花之恋(矩阵快速幂、斐波那契数列)

    链接:https://ac.nowcoder.com/acm/problem/18987 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

最新文章

  1. java使用BigDecimal 处理商业精度及高精度详解
  2. 管理“我的右上角” : 介绍菜单栏图标软件 Bartender
  3. Spring框架深入(四)--SpringMVC配置详解
  4. python2.7多线程的批量操作远程服务器
  5. Android 网络通信架构学习
  6. GOF设计模式之1:单例设计模式
  7. Unity3D游戏开发之开发游戏带来的问题
  8. Apache Commons Pool试用小记
  9. 乌龟Git误点跳过工作树的解决方法
  10. arduino中利用LiquidCrystal内置的scrool函数实现屏幕文字滚动播放
  11. Win10注册.bat或.exe成为系统服务(NSSM)
  12. oracle solaris 10 系统 下载,更新 Oracle Solaris 11 系统中的软件
  13. iconfont阿里巴巴矢量图标引入方法
  14. CCNA(思科网络攻城狮) 滴水之力05
  15. Elasticsearch别名(aliases)使用
  16. 商品秒杀优化流程总结
  17. 【android】Notification 和 Service的结合应用以及Notification在Android8.0之后的坑 Bad notification
  18. 森林防火综合解决方案
  19. 豌豆淘一语道破S2b2c玄关,带你认识S2b2c模式
  20. 医学图像处理技术_上海交大---第一章笔记

热门文章

  1. 【甘道夫】Spark1.3.0 Cluster Mode Overview 官方文档精华摘要
  2. linux cpu参数,Linux查看CPU详细信息
  3. html中colgroup标签,HTML colgroup 标签
  4. 安全漏扫Nessus软件使用,安装
  5. 星际译王的词典下载地址分享
  6. 机器学习实验 - MeanShift聚类
  7. tortoiseGIT保存密码
  8. SpringMVC 解析(二)DispatcherServlet
  9. 多语种翻译互译,批量小语种翻译互译
  10. 为什么它可以和可视化工具tableau相提并论?