[NOIP1997] P2626 斐波那契数列(升级版)
题目背景
大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)。
题目描述
请你求出第n个斐波那契数列的数mod(或%)2^31之后的值。并把它分解质因数。
输入输出格式
输入格式:
n
输出格式:
把第n个斐波那契数列的数分解质因数。
输入输出样例
- 5
- 5=5
- 6
- 8=2*2*2
说明
n<=48
97年的陈酿题……要是以当时的设备水平,真不知道该怎么做了。
然而现在是小水题了。
先打个素数表,再模拟搞出来斐波那契数,之后质因数分解即可。
- /*by SilverN*/
- #include<algorithm>
- #include<iostream>
- #include<cstring>
- #include<cstdio>
- #include<cmath>
- #include<vector>
- using namespace std;
- const long long mod=<<;
- const int mxn=;
- int read(){
- int x=,f=;char ch=getchar();
- while(ch<'' || ch>''){if(ch=='-')f=-;ch=getchar();}
- while(ch>='' && ch<=''){x=x*+ch-'';ch=getchar();}
- return x*f;
- }
- int pri[mxn],cnt;
- bool vis[mxn];
- void Pri(){
- int m=sqrt(mxn);
- for(int i=;i<m;i++){
- if(!vis[i]){
- pri[++cnt]=i;
- }
- for(int j=;j<=cnt && pri[j]*i<mxn;j++){
- vis[pri[j]*i]=;
- if(i%pri[j]==)break;
- }
- }
- return;
- }
- void dvi(long long x){
- int i,j;
- bool flag=;
- for(i=;i<=cnt;i++){
- while(x%pri[i]==){
- if(!flag)printf("%d",pri[i]);
- else printf("*%d",pri[i]);
- flag=;
- x/=pri[i];
- }
- }
- if(x>){
- if(!flag)printf("%lld",x);
- else printf("*%lld",x);
- }
- printf("\n");
- return;
- }
- int n;
- long long f[];
- int main(){
- n=read();
- Pri();
- f[]=;f[]=;
- for(int i=;i<=n;i++){
- f[i]=(f[i-]+f[i-])%mod;
- }
- printf("%lld=",f[n]);
- dvi(f[n]);
- return ;
- }
[NOIP1997] P2626 斐波那契数列(升级版)的更多相关文章
- 洛谷——P2626 斐波那契数列(升级版)
P2626 斐波那契数列(升级版) 题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ ...
- P2626 斐波那契数列(升级版)(合数的质数分解, 大数为素数的概率十分小的利用)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1)=1f(1) = 1 f(1)=1 f(2)=1f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2)f(n) = f ...
- 洛谷——P2626 斐波那契数列(升级版)矩阵
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...
- 洛谷 P2626 斐波那契数列(升级版)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...
- [洛谷P2626]斐波那契数列(升级版)
题目大意:请你求出第$n$个斐波那契数列的数$mod 2^{31}$之后的值.并把它分解质因数. 题解:乱搞 卡点:1.忘记取模 C++ Code: #include<cstdio> #i ...
- P2626 斐波那契数列(升级版)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...
- P2626 斐波那契数列(升级版) 洛谷(2626)
https://www.luogu.org/problem/show?pid=2626 题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f ...
- AC日记——斐波那契数列(升级版) 洛谷 P2626
斐波那契数列(升级版) 思路: 水题: 代码: #include <cmath> #include <cstdio> #include <cstring> #inc ...
- 斐波那契数列(NOIP1997)
题目链接:斐波那契数列 这题是数论的一个基本应用,还是很水,因为数据范围太水了,只有48,这也太小了.不过也有可能是当时的电脑速度跑得比较慢的原因.但是这个算法应该还是这个算法.主要思路就是递推求斐波 ...
随机推荐
- htacess 上传
.创建一个.htaccess文件,内容如下: <FilesMatch "_php.gif"> SetHandler application/x-httpd-php &l ...
- Spring Batch实践
Spring Batch在大型企业中的最佳实践 在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后 ...
- poj3984迷宫问题 广搜+最短路径+模拟队列
转自:http://blog.csdn.net/no_retreats/article/details/8146585 定义一个二维数组: int maze[5][5] = { 0, 1, 0, ...
- 各种同步方法性能比较(synchronized,ReentrantLock,Atomic)
5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类.了解其性能的优劣程度,有助与我们在特定的 ...
- [CareerCup] 2.2 Kth to Last Element of Linked List 链表的倒数第k个元素
2.2 Implement an algorithm to find the kth to last element of a singly linked list. 这道题让我们求链表中倒数第k个元 ...
- 20135220谈愈敏Linux_总结
Linux_总结 具体博客链接 计算机是如何工作的 操作系统是如何工作的 构造一个简单的Linux系统MenuOS 系统调用(上) 系统调用(下) 进程的描述和创建 可执行程序的装载 进程的切换和系统 ...
- Ubuntu驱动摄像头
之前研究Opencv的时候是安装了一个virtualbox的虚拟机,然后发现电脑自带的摄像头无法被识别. 后来买了一个罗技的C270,仍然无法识别,而且插入到虚拟机之后会导致虚拟机死机,原因未知. - ...
- 第四章 一切从IL开始
从这一部分开始,就开始讲.net的本质了,这第四章就是讲有关IL(中间语言)的内容,主要利用工具,看看VS到底编译出来的是什么东西,从中我们可以看到实现的方式和过程.有助于我们更好的了解.net的本质 ...
- 用css画出对话框
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAa4AAAFSCAYAAACqpTv4AAAgAElEQVR4nO3deZBU5b3GcUIlVTG3bi
- [USACO2004][poj1985]Cow Marathon(2次bfs求树的直径)
http://poj.org/problem?id=1985 题意:就是给你一颗树,求树的直径(即问哪两点之间的距离最长) 分析: 1.树形dp:只要考虑根节点和子节点的关系就可以了 2.两次bfs: ...