51nod-1350:斐波那契表示
第1行:一个数T,表示后面用作输入测试的数的数量(1 <= T <= 50000)。 第2 - T + 1行:每行1个数n(1 <= n <= 10^17)。
输出共T行:对应每组数据G(n)的值。
3 1 3 6
1 3 8
找规律
F(n):1,1,2,1,2,2,1,2,2,2,3,1,2,2,2,3,2,3,3,1,2,2,2,3,2,3,3,2,3,3,3,4
#include<stdio.h>
using namespace std;
#define LL long long
LL n, fib[1005] = {0,1,1}, w[1005] = {0,1,1};
LL p(int i, LL j)
{if(j==fib[i])return w[i];if(j<=fib[i-1])return p(i-1, j);return p(i-1, fib[i-1])+p(i-2, j-fib[i-1])+j-fib[i-1];
}int main(void)
{int T, i, id;LL sum, ans;for(i=3;i<=84;i++){fib[i] = fib[i-1]+fib[i-2];w[i] = w[i-1]+w[i-2]+fib[i-2];//printf("%lld\n", w[i]);}scanf("%d", &T);while(T--){sum = ans = 0;scanf("%I64d", &n);for(id=1;sum+fib[id]<n;id++)sum += fib[id];for(i=1;i<=id-1;i++)ans += w[i];ans += p(id+1, n-sum);printf("%I64d\n", ans);}return 0;
}
51nod-1350:斐波那契表示相关推荐
- 51Nod 1242 斐波那契数列的第N项
斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, 13, 21, 34, ...
- 51nod 1355 斐波那契的最小公倍数
Upd2019.4.19 yy了一个新的做法 新的写法 之前的东西 链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1355 很神 ...
- 矩阵快速幂(求斐波那契数列)
因为Fib(n)至于最近的俩个序列有关(及Fib(n-1)和Fib(n-2)),所以我们保存最近的那俩个就行了. 设f(n)表示一个1*2的矩阵,f(n)=[Fib(n),Fib(n+1)],可以看成 ...
- 1355 斐波那契的最小公倍数
1355 斐波那契的最小公倍数 原题连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1355 之前看唐老师题解学习 ...
- java 斐波拉_Java实现斐波那契数列
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&g ...
- java 二分搜索获得大于目标数的第一位_程序员常用查找算法(顺序、二分、插值、分块、斐波那契)...
顺序查找 基本思想 属于线性查找和无序查找,从一端开始顺序扫描,直到找到与目标值value相等的元素. 这是最基本的查找方法,也是时间复杂度最高的查找算法. 在数据过多时,这种方法并不适用. 代码实现 ...
- 剑指offer:面试题10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 ...
- 斐波那契算法举例(iterative Fibonacci algorithm)
// count_change.cpp : Defines the entry point for the console application. // #include "stdafx. ...
- BZOJ2275[Coci2010]HRPA——斐波那契博弈
题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍. 取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...
最新文章
- Python IDE ——Anaconda+PyCharm的安装与配置
- BIO bi_sector submit_bio make_request_fn
- Centos常用系统命令
- MongoDB 索引-9
- 5G小科普(漫画版,So easy!)
- 初级程序员应该怎么办?
- asp.net学习之SqlDataSource 2 select的四种参数赋予形式的解释
- java memorystream 包_存储在MemoryStream中的裁剪图像中心
- HCIE-Security Day5:防火墙会话表和转发原理
- 成也DP,败也DP(AFO?)
- Java常量不能二次赋值与常量不能修改值意思一样吗?
- 什么是tftp服务器? 如何搭建tftp服务器?
- ODATA入门:$inlinecount,$top,$skip实现
- 记录在APIO2019前
- 如何准备项目启动大会
- Android wear 睡眠追踪,为什么智能手表还不是最理想的睡眠追踪设备
- 华天软件Inforcenter PLM
- DontDestroyOnLoad带来的麻烦
- 向量空间中的基底和基变换以及坐标变换
- MobSF的安装使用及踩坑指南
热门文章
- 开课吧学python靠谱吗-开课吧成为CNCC中国计算机大会唯一教育合作伙伴
- python语言的读法-Python语言的特点及自学建议
- 学python可以做什么职业-python学完之后比较适合哪些职业工作呢?
- vs code 开发企业级python_入股不亏!VS Code中最好用的Python扩展插件
- Vue-的基本使用和指令
- Web API-DOM-滚动事件、加载事件和元素大小和位置
- vue 定时器:setInterval和setTimeout使用实例及区别
- java点击上传上传mysql并显示图片_java + mysql + jdbc实现图片上传
- 【python 笔记】赋值语句和基本输入输出
- 【数据结构和算法】拓扑排序(附leetcode题 207/210 课程表)