蓝桥网试题 java 入门训练 Fibonacci数列


----------------------------------------------------------------------------------------------------------------------------------------------
自己的理解:
因为数据模型与约定给定的范围很大,所以在我们用Fibonacci数列去写算法的时候很可能会
让我们定义的int变量超出范围,就是我们的算法没有考虑的很全面,在说明中,已经很明显得的
给了我们一个提示 "Fn会很大,直接计算余数往往比先算出原数再取余简单。"
-----------------------------------------------------------------------------------------------------------------------------------------------------
算法一:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] a = new int[10000001];
a[1] = 1;
a[2] = 1;
int n = new Scanner(System.in).nextInt();
for (int i=3; i<=n; i++){
a[i] = (a[i-1]+a[i-2])%10007;
}
System.out.println(a[n]);
}
}
算法二:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int f1 = 1;
int f2 = 1;
int n = new Scanner(System.in).nextInt();
for (int i=3; i<=n; i++){
int t = f2;
f2 = (f1 + f2) % 10007;
f1 = t;
}
System.out.println(f2);
}
}
蓝桥网试题 java 入门训练 Fibonacci数列的更多相关文章
- 蓝桥网试题 java 入门训练 A+B问题
---------------------------------------------------------------------------------------------------- ...
- 蓝桥网试题 java 入门训练 序列求和
---------------------------------------------------------------------------------------------------- ...
- 蓝桥网试题 java 入门训练 圆的面积
---------------------------------------------------------------------------------------------------- ...
- 蓝桥杯 C语言 入门训练 Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- 蓝桥java 入门训练 Fibonacci数列
import java.util.Scanner; public class Main{ public static void main(String[] args) { int maxn=10000 ...
- 蓝桥网试题 java 算法训练 区间k大数查询
-------------------------------------------------------------------------- 数组也有sort方法 尽量把输入和操作分开写 -- ...
- 蓝桥杯 入门训练 Fibonacci数列(水题,斐波那契数列)
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非 ...
- 蓝桥杯 入门训练 Fibonacci数列
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. ...
- 【蓝桥杯】入门训练 Fibonacci数列
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. ...
随机推荐
- [转] Eclipse中已安装的插件如何卸载
转自 : http://blog.csdn.net/macong01/article/details/7631105 最近在Eclipse中安装了一个插件,导致Eclipse使用的时候有些问题,就找了 ...
- struts2-----新建项目
1. 建立界面原型 2. 建立Struts.xml 确定namespace, package, action, 空方法, result, 界面原型修改, 匹配现有设置, 测试, 做好规划 3. 建立数 ...
- iOS之PCH文件
在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件 ...
- redhat7 常用命令
关闭防火墙 systemctl stop firewalld 查看防火墙状态 systemctl status firewalld 永久关闭防火墙命令.重启后,防火墙不会自动启动.systemctl ...
- Extjs4中的布局
布局用于定义容器如何组织内部子元素和控制子元素的大小.在一个应用程序中,作为定义容器的组织形式,布局是一个十分重要的组件.是显示单个子元素?还是垂直或水平显示多个子元素?这些均由布局来定义.并且布局将 ...
- Android中使用http协议访问网络
HTTP协议的工作原理:客户端向服务器端发送http请求,服务器端收到请求后返回一下数据给客户端,客户端接受消息并进行解析. 在Android中发送http请求的方式有两种,第一种是通过HttpURL ...
- STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解 STM32的优先级NVIC_PriorityGroupConfig的理解及其使用 STM32中断优先级彻底讲解 S ...
- iOS开发之圆角指定 分类: ios技术 2015-05-25 16:26 191人阅读 评论(0) 收藏
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...
- PHP 安装使用 gearman
1.安装服务器端: 官方下载,请到https://launchpad.net/gearmand. yum install boost-devel* gperf* libevent-devel* lib ...
- IOS开发-UI学习-NSBundle和NSURL的区别(读取文件以及写入文件)
NSBundle和NSURL的区别: 在项目的工程中添加一个文件,本例程添加的是aa.txt,文件的内容为百度: www.baidu.com,现在要使用NSBundle和NSURL分别去获取内容,代码 ...