蓝桥网试题 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. ...
随机推荐
- ibatis一对多 数据库设计及实现
iBatis的多表关联. ibatis的表关联,和数据库语句无关,是在Java程序中,把若干语句的结果关联到一起.这种关联形式,虽然在大数据量时是很奢侈的行为,但是看起来很干净,用起来也很方便. 这里 ...
- Unity3d 开发之 ulua 坑的总结
相同的 lua 代码在安卓上能正常运行,但在 IOS 上可能不会正常运行而导致报红,崩溃等,我在使用 lua 编程时遇到的一些坑总结如下: 1. File.ReadAllText, 诸如以下代码在 i ...
- ue4访问php接口
继上一篇介绍ue4打开web url窗口,这篇就来介绍下怎么访问php接口. 要做的两步: 1.c++自己写个接受请求的方法 f Post lhc-URL Request就是自定义的c++方法, /* ...
- HTML5 EventSource的用法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 集群下Cookie共享,必须要设置machineKey
这个节允许你设置用于加密数据和创建数字签名的服务器特定的密钥.ASP.NET自动使用它来保护表单验证Cookie,你也可以将它用于受保护的视图状态数据.同时,这个密钥还用于验证进程外的会话状态提供程序 ...
- JavaScript高级程序设计-8:BOM
1. 什么是BOM? BOM(Browser Object Mode) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的.可以与浏览器窗口进行互动的对象 ...
- UVa 10306 - e-Coins
题目大意:现在有一种新型货币,它的价值分为传统价值x和IT价值y,价值计算方式为sqrt(x*x+y*y),现给一些类型的货币和要达到的目标价值,计算达到目标所需的最少货币数目.注意计算方法是sqrt ...
- Grunt构建工具能做哪些事?
Grunt到底有什么作用?一般用来干嘛? 很多前端的工作,包括Less编译.javascript压缩.Css压缩等零零碎碎的工作, 都可以让Grunt来做. 实际上在项目开发中,一般是前端代码 与 后 ...
- linux下简单限制网卡速度
Linux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果. 1.安装iproute yum -y install iproute 2.限制eth0网卡的带宽为50kbit: ...
- Angular - - ngCsp、ngFocus、ngBlur、ngForm
ngCsp 处理CSP(上下文安全策略)的支持. 当开发如google浏览器的扩展时候这个就必须使用. CSP禁止应用程序使用eval和Function(string)生成的函数.如果我们需要兼容,我 ...