蓝桥杯试题:Fibonacci数列
原题为:
一开始用最笨拙的思路:先用递归算斐波那契数列的值,再取余。结果运算速度太慢,当数值大于10007时还出错。
import java.util.*;
public class Main {public static void main(String[] args){int a,b,c;Scanner in = new Scanner(System.in);a = in.nextInt();b=f(a);c = b%10007;System.out.println(c);}public static int f(int n){if(n==1|n==2)return 1;elsereturn f(n-1)+f(n-2);}
}
检测结果: 后来改用循环算法求斐波那契,而且直接取余,就通过了:
import java.util.*;
public class Main {
public static void main(String[] args)
{
int a,b;
Scanner in = new Scanner(System.in);
a = in.nextInt();
b=f(a);
System.out.println(b%10007);
}
public static int f(int n)
{
int f0 = 1;
int f1 = 1;
int f2 = 0;
if(n==1|n==2)
return 1;
else
{
for(int i=2;i<n;i++)
{
if(f1>10007)
f1=f1%10007;
if(f0>10007)
f0=f0%10007;
f2=f1+f0;
f0=f1;
f1=f2;
}
return f2;
}
}
}
结果为:
蓝桥杯试题:Fibonacci数列相关推荐
- 蓝桥杯练习题 Fibonacci数列
下学期要跟着学校去参加蓝桥杯,所以在这里自己留念之用.(java) 1 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. import java.util.Scann ...
- 蓝桥杯基础训练——Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- 蓝桥杯练习题--Fibonacci数列
Fibonacci数列 方法一(也是我第一个想到的办法 但是花费时间太多了)递归 #include<iostream> using namespace std; int f(int x) ...
- 蓝桥杯试题 数列排序
蓝桥杯试题 数列排序 问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对 ...
- Python 蓝桥杯试题 基础练习 数列排序
Python 蓝桥杯试题 基础练习 数列排序 题目描述: 问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n ...
- 蓝桥杯试题 基础练习 数列特征python
蓝桥杯试题 基础练习 数列特征python 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个数,找出这n个数的最大值,最小值,和. 输入格式 第一行为整数n,表示数的个数. ...
- 蓝桥杯研究生c语言试题答案,蓝桥杯试题_蓝桥杯 你有蓝桥杯历年的试题吗最好有参考答案啊 高职高专组C语言的 有的话麻烦你发给我 万分感谢_淘题吧...
❶ 蓝桥杯 你有蓝桥杯历年的试题吗最好有参考答案啊. 高职高专组C语言的 有的话麻烦你发给我 万分感谢 我有真题.但是老师没给答案 ❷ 为什么蓝桥杯试题集评测老是错 楼上的网友说的很简单,实际上因为每 ...
- Python 蓝桥杯试题 基础练习 特殊回文数
Python 蓝桥杯试题 基础练习 特殊回文数 问题描述: 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于 ...
- 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解
题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...
- 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善
题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...
最新文章
- let 和 var 区别
- 【Qt】2D绘图之绘制路径
- leetcood学习笔记-204-计算质数
- 【zblog模板】随然响应式导航网址目录主题
- processing solution item 在加载时一直出现
- 第二章--电商项目DB规划
- bootstrap轮播图 原点变为方块_JS实现无缝切换轮播图(自动+手动)
- 自创本派高考理数试题集现在发布
- Matlab美图秀秀
- FDFS基础用法总结
- PRD文档写作详细说明(希望对大家有用)
- 跨浏览器书签导入实例演示,更好的管理书签!
- php版本微信公众号开发
- CVPR 2022 全面盘点:最新350篇论文分方向汇总 / 代码 /
- 把数组改为用逗号隔开的形式
- 邮局问题【python】【c++】
- canvas 画布画太极图和钟表
- python pyqtgraph绘图库-绘制图形
- 昊鼎王五:如何安装蓝鲸智云v3.1.7社区版本之MYSQL?
- HTML JS小游戏 制作飞机大战