蓝桥杯入门训练 Fibonacci数列
2016-01-15 16:27
260 查看
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
样例输入
10
样例输出
55
样例输入
22
样例输出
7704
数据规模与约定
1 <= n <= 1,000,000。
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
样例输入
10
样例输出
55
样例输入
22
样例输出
7704
数据规模与约定
1 <= n <= 1,000,000。
#include<stdio.h> #include<stdlib.h> int main() { int i,n,b; int *a; scanf("%d",&n); a=(int *)malloc((n+1)*sizeof(int)); if(n==1) { a[1]=1; } else if(n==2) { a[1]=a[2]=1; } else if(n>2) { a[1]=a[2]=1; for(i=3;i<=n;i++) { a[i]=(a[i-1]+a[i-2])%10007; } } printf("%d",a ); return 0; }
相关文章推荐
- 续 codeforces 613B Skills
- JQuery经典例子:可拉伸菜单
- OpenGLES2.0着色器语言glsl
- 利用函数指针对数组进行排序
- C++ Primer 5th Chapter 8 学习笔记
- WebRequest设置Header应该放最前面
- 【SQL server】安装和配置
- C++运行时获取类型信息的type_info类与bad_typeid异常
- 【转】Linux服务器安全的25个小知识
- NSIS制作32+64位安装包
- ios 获取沙盒文件夹路径
- Nginx + Tomcat + Redis负载均衡及session共享
- 利用开源库libjpeg库解析jpeg格式图片
- 进一步说明引用、指针在函数传递中的运用。(记住这三种交换方式)
- iOS复用代码块实现
- 静态库的制作
- Fragment ViewPager的例子代码
- NFS报Permission Denied错误以及排错方法
- HDU 5606 tree
- C语言中的常用变量