斐波那契数列(NOIP1997)
来源:互联网 发布:朴素贝叶斯算法matlab 编辑:程序博客网 时间:2024/06/06 03:18
题目链接:斐波那契数列
这题是数论的一个基本应用,还是很水,因为数据范围太水了,只有48,这也太小了。不过也有可能是当时的电脑速度跑得比较慢的原因。但是这个算法应该还是这个算法。主要思路就是递推求斐波那契数列第n项(还有其他方法,但此处够了),然后对它进行因数分解,就可以了,下面给代码:
#include<bits/stdc++.h>using namespace std;void primes(int n){ printf("%d=",n); int q=sqrt(n+0.5); for(int i=2;i<=q;i++){ if(n%i==0){ while(n%i==0){ printf("%d",i); n/=i; if(n!=1){ printf("*"); //1 } } } } if(n>1){ printf("%d",n); //5 }}int main(){ int n; scanf("%d",&n); int f[n]; f[0]=1; //2 f[1]=1; for(int i=2;i<n;i++){ f[i]=(f[i-1]+f[i-2])%2147483648;//3 } primes(f[n-1]); //4 return 0;}
1处:要判断n是否等于1,如果等于1,代表分解结束,不再输出*
2处:赋初值
3处:递推公式计算,注意取模。
4处:注意计算时候是n-1,因为我们第一项下标为0
5处:如果分解完成后,n还是大于1,说明n是素数,直接输出n
阅读全文
0 0
- 斐波那契数列(NOIP1997)
- 斐波那契数列数列计算
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- poj1745(后缀数组+二分)
- bzoj1927 [Sdoi2010]星际竞速
- Qt中验证器的使用
- 交叉编译iptables1.4.12的问题
- 349. Intersection of Two Arrays
- 斐波那契数列(NOIP1997)
- javaSE_IO流
- SimpleAudioEngine使用的一些感悟
- Codeforces 825G Tree Queries(DFS)
- 初学java--抽象的认识
- Because we are OIer
- firebird优化笔记
- CSS3 选择器、颜色与度量单位、文本、边框、背景
- 为centos7配置网络桥接