ACM_Fibonacci数(同余)
Problem Description:
斐波那契数列定义如下:f(0)=0,f(1)=1,f(n+2)=f(n+1)+f(n);
求斐波那契数列的第n项对10009取余后的结果。
Input:
多组测试,每组测试输入一个整数n(0<=n<=10^17).
Output:
对于每个测试,输出答案,占一行。
Sample Input:
10
Sample Output:
55
解题思路:运用同余定理:(a+b)%mod=(a%mod+b%mod)%mod。一般像这种取余的题目,答案是有规律的,于是暴力打表,果然发现有循环节数,为3336。注意输入的n已经爆int,要long long,水过。
AC代码:
#include<bits/stdc++.h>
using namespace std;
const int mod = ;
int main()
{
int a[]={,};
for(int i=;i<;++i)
a[i]=(a[i-]%mod+a[i-]%mod)%mod;
long long n;
while(cin>>n)
cout<<a[n%]<<endl;
return ;
}
ACM_Fibonacci数(同余)的更多相关文章
- POJ 3070 + 51Nod 1242 大斐波那契数取余
POJ 3070 #include "iostream" #include "cstdio" using namespace std; class matrix ...
- bjfu1238 卡特兰数取余
题目就是指定n,求卡特兰数Ca(n)%m.求卡特兰数有递推公式.通项公式和近似公式三种,因为要取余,所以近似公式直接无法使用,递推公式我简单试了一下,TLE.所以只能从通项公式入手. Ca(n) = ...
- Sicily1020-大数求余算法及优化
Github最终优化代码: https://github.com/laiy/Datastructure-Algorithm/blob/master/sicily/1020.c 题目如下: 1020. ...
- LightOJ-1214-Large Division-大数取余
Given two integers, a and b, you should check whether a is divisible by b or not. We know that an in ...
- D-【乐】k进制数(同余)
题目 https://ac.nowcoder.com/acm/contest/907/D 做法 \((x)_k\)定义编号,如果\(a+b\)加到一起能进一位,\(a+b\rightarrow 1+( ...
- SPOJ 370 Ones and zeros BFS + 同余剪枝
题意:给一些n,求出最小的只包含0,1的n的倍数 设两数a, b满足: a < b 并且a % n = b % n. 如果 ( a * 10^x + c ) % n = z , 根据同余定理,( ...
- 由HashMap哈希算法引出的求余%和与运算&转换问题
1.引出问题 在前面讲解HashMap 的源码实现时,有如下几点: ①.初始容量为 1<<4,也就是24 = 16 ②.负载因子是0.75,当存入HashMap的元素占比超过整个容量的75 ...
- sql计算总页数
1 计算总页数方法: public int getTotalCount() { Statement stmt = null; //提交SQL语句对象stmt Resu ...
- [LeetCode] 923. 3Sum With Multiplicity 三数之和的多种情况
Given an integer array A, and an integer target, return the number of tuples i, j, k such that i &l ...
随机推荐
- 静态区间第k大(归并树)
POJ 2104为例 思想: 利用归并排序的思想: 建树过程和归并排序类似,每个数列都是子树序列的合并与排序. 查询过程,如果所查询区间完全包含在当前区间中,则直接返回当前区间内小于所求数的元素个数, ...
- SpringBoot学习day01
SpringBoot目的在于创建和启动新的基于Spring框架的项目.SpringBoot会选择最合适的Spring子项目和第三方开源库进行整合.大部分SpringBoot应用只需要非常少量的配置就可 ...
- wget: unable to resolve host address “mirrors.163.com” 的解决办法
wget:无法解析主机地址.这就能看出是DNS解析的问题. 解决办法: 登入root(VPS). 进入/etc/resolv.conf. 修改内容为下nameserver 8.8.8.8 #googl ...
- Android GIS开发系列-- 入门季(15) 网络图层加载
一.首先我们来看一个网络图层: http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer,这是全 ...
- cache and database
This article referenced from http://coolshell.cn/articles/17416.html We all know that high concurren ...
- C#如何把写好的类编译成dll文件
1 新建一个类库项目 2 直接改写这个Class1.cs文件 3 记得要添加Windows.Forms引用 4 我直接把在别的项目中做好的cs文件搞到这里来,连文件名也改了(FilesDi ...
- AE After Effect 如何分段渲染
如果只要第一段的话,你把要输出的那段首尾处分别按下B键和N键,这样输出时就会只输出这一段了(拖动首尾的栏目修改起始和终止的时间):如果是批量渲染的话你只要在这些不同的合成层里,每个按下ctrl+M键, ...
- “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法
1.首先.select top使用方法: 參考问题 select top n * from和select * from的差别 select * from table -- 取全部数据.返回无序集合 ...
- 动态生成页面(一)——ASP.NET中Literal使用
在页面中加入内容时,假设是静态内容.无需使用容器,能够直接将标记作为HTML直接加入到页面中:可是,假设是动态内容,则必须借助容器将内容加入到页面中.典型的容器有:Label控件.Literal控件. ...
- JAVA 学习 IDEA安装及破解
1.到官网下载安装包 网址:https://www.jetbrains.com/idea/download/#section=windows 选择 “”Ultimate “”这个版本点击“Downl ...