蓝桥杯2014年以前JAVA历年真题及答案整理——Fibonacci数列
来源:互联网 发布:js关闭当前页面 编辑:程序博客网 时间:2024/05/21 08:59
问题描述
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。
java实现:
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in) ; int num = scanner.nextInt() ; int[] a = new int[num+2] ; a[1] = a[2] = 1; if (num == 1) { a[num] = 1 ; }else if (num == 2) { a[num] = 1 ; }else { for (int i = 3; i <= num; i++) { a[i] = (a[i - 1] + a[i - 2]) % 10007 ; } } System.out.println(a[num]); }}
C实现:
#include <stdio.h>int F(int n){ int i, s1 = 1, s2 = 1, s3 = 1; for (i = 3; i <= n; i++) { s3 = s1 + s2; if (s3 > 10007) s3 -= 10007; s1 = s2; s2 = s3; } return s3;}int main(){ int n; scanf("%d", &n); printf("%d", F(n)); return 0;}
0 0
- 蓝桥杯2014年以前JAVA历年真题及答案整理——Fibonacci数列
- 蓝桥杯2014年以前JAVA历年真题及答案整理——数列排序
- 蓝桥杯2014年以前JAVA历年真题及答案整理——数列特征
- 蓝桥杯2014年以前JAVA历年真题及答案整理——字符排序
- 蓝桥杯2014年以前JAVA历年真题及答案整理——猜算式
- 蓝桥杯2014年以前JAVA历年真题及答案整理——Excel地址转换
- 蓝桥杯2014年以前JAVA历年真题及答案整理——十六进制转八进制
- 蓝桥杯2014年以前JAVA历年真题及答案整理——十六进制转十进制
- 蓝桥杯2014年以前JAVA历年真题及答案整理——十进制转十六进制
- 蓝桥杯2014年以前JAVA历年真题及答案整理——特殊回文数
- 蓝桥杯2014年以前JAVA历年真题及答案整理——回文数
- 蓝桥杯2014年以前JAVA历年真题及答案整理——特殊的数字
- 蓝桥杯2014年以前JAVA历年真题及答案整理——杨辉三角形
- 蓝桥杯2014年以前JAVA历年真题及答案整理——查找整数
- 蓝桥杯2014年以前JAVA历年真题及答案整理——字母图形
- 蓝桥杯2014年以前JAVA历年真题及答案整理——01字串
- 蓝桥杯2014年以前JAVA历年真题及答案整理——闰年判断
- 蓝桥杯2014年以前JAVA历年真题及答案整理——A+B问题
- 蓝桥杯2014年以前JAVA历年真题及答案整理——求和公式
- Oracle安装小记
- HDU 2075 A|B?
- 蓝桥杯2014年以前JAVA历年真题及答案整理——实数输出
- Viewpager中图片缩小放大功能(个人相册)
- 蓝桥杯2014年以前JAVA历年真题及答案整理——Fibonacci数列
- Lync 2013演示PPT提示证书出现问题的解决办法
- 【C/C++】C++异常基础知识点
- 使用locale命令来查看linux系统的默认编码和支持的其他编码
- 2014年3月小结
- SharePoint 使用代码为页面添加WebPart
- HQL语言学习(二)
- 《Java编程思想》学习笔记1—面向对象和JVM基础
- mysql服务启动不了1067错误解决方案总结