Fibonacci Again
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 34337 Accepted Submission(s): 16585
Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).
Output
Print the word "yes" if 3 divide evenly into F(n).
Print the word "no" if not.
Print the word "no" if not.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
题意:
斐波那契数为 F [ 0 ] = 7,F [ 1 ] = 11,F [ N ] = F [ N - 1 ] + F [ N - 2 ] ( N >= 2 ),输入 N(<= 1000000),问 F[ N ] 能否被 3 整除。
思路:
数学。先把结果保存起来再判能不能整除的话,以 N == 1000000 的话 long long 都会爆,所以边加就边求余数,直接数组保存余数结果就好,若为 0 则输出 yes,否则则为 no。
还有一种方法,找规律,按数组的顺序,余数的结果为 1,2,0,2,2,1,0,1,1,2,0,2,2,1,0……可以发现,当下标(n - 2)能整除 4 的时候能整除3,所以可以通过这个方法直接输出 yes 还是 no。
AC:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAX = 1000005; int num[MAX]; void solve() { num[0] = 1; num[1] = 2; for (int i = 2; i < MAX; ++i) num[i] = (num[i - 1] + num[i - 2]) % 3; } int main () { int n; solve(); while (~scanf("%d", &n)) { if (num[n]) printf("no\n"); else printf("yes\n"); } return 0; }
or:
#include <cstdio> using namespace std; int main () { int n; while (~scanf("%d", &n)) { (n - 2) % 4 ? printf("no\n") : printf("yes\n"); } return 0; }
相关推荐
它既是数学美的完美体现,又与许多数学概念有着密切的联系,许多看似彼此独立的数学概念,通过斐波那契数列,人们发现了其中的数学联系,从而进一步激发了人们探索数学的兴趣,对数学的认知更加系统化。 斐波那契...
"Fibonacci数列斐波那契数列PPT学习教案.pptx" Fibonacci数列是一种非常重要的数学概念,它的应用非常广泛,包括生物学、经济学、计算机科学等领域。下面我们将详细介绍Fibonacci数列的概念、性质和应用。 1. ...
斐波那契数列,又称为兔子数列,是由13世纪意大利数学家列昂纳多·斐波那契提出的一组数列。这个数列的每一个数字是前两个数字的和,通常以0和1作为起始数字,即F(0)=0,F(1)=1。数列的后续项可以通过此规则计算出来...
斐波那契数列,又称为兔子数列,是由13世纪意大利数学家斐波那契提出的一个数学序列。这个数列的特点是每一项都等于前两项之和,起始的两项为1。具体地,斐波那契数列可以用递归公式表示:F0 = 1, F1 = 1, Fn = Fn-1...
斐波那契数列是数学中一个广为人知的序列,它的每一项都是前两项的和,其定义如下:F(1) = 1, F(2) = 1, 而对于n > 2时,F(n) = F(n-1) + F(n-2)。这个数列不仅在数学上具有重要意义,还在计算机科学中扮演了重要的...
斐波那契数列是由意大利数学家列奥纳多·斐波那契(Leonardo Pisano Fibonacci)在13世纪提出的一种数列,其特点是每个数都是前两个数的和。数列的前几项通常是1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144等。 ...
该序列以意大利数学家 Leonardo Fibonacci 的名字命名,故称为斐波那契数列。该序列的特点是每个数字都是前两个数字的和,以此模式无限延续下去。 下面是斐波那契数列的JAVA解法,包括递归算法、循环算法、数组保存...
深度学习案例:会意高中数学中的斐波那契数列 在本案例中,我们探讨的是如何通过深度学习策略让学生“会意”高中数学中的斐波那契数列。斐波那契数列是一个在数学中极为重要的概念,它不仅在数学领域有着广泛的应用...
文艺复兴时期,斐波那契的印度数字系统对算术的革新,为欧洲的数学进步吹响了号角。 第二册讲述了数学的一次巨大飞跃——17至18世纪的数学革命。笛卡尔的解析几何将代数与几何相结合,开启了现代数学研究的新篇章。...
斐波那契数列(Fibonacci sequence)是数学中一个非常著名的数列,其特点是每一项数值都是前两项数值的和。通常情况下,斐波那契数列的第一项为0或1,第二项也为1,后续各项则根据定义递推得到。 **基本形式:** \...
斐波那契回调指标是金融交易中常用的技术分析工具,特别是在外汇市场(MT4平台)中,它基于斐波那契数列的数学原理来预测价格的潜在反转点。这个工具帮助交易者识别支撑位和阻力位,为决策提供依据。 斐波那契数列...
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。java代码实现该数列
递归在编程中用于定义数据结构(如链表、树)、解决复杂问题(如汉诺塔问题)和设计算法(如快速排序、斐波那契数列)。 算法分析是离散数学与计算机科学的交叉点,它研究算法的时间和空间效率。Epp的书中会介绍大O...
2. 删除最小元素:斐波那契堆通过“瀑布修剪”(Fibonacci Heap Deletion)策略来优化这个操作。当删除最小元素时,会将所有与其相邻的子节点提升到其位置,这个过程可能引发树的重构,但总体上保证了操作的时间...
这个数列起源于意大利数学家斐波那契(Leonardo Fibonacci)提出的一个兔子繁殖问题。Fibonacci数列不仅在数学上具有重要意义,在计算机科学、生物学等领域也有广泛的应用。 ### Fibonacci数列的递归求解方法 递归...
这个数列由意大利数学家斐波那契(Leonardo Fibonacci)在13世纪引入,用于模拟兔子繁殖的问题,因此也被称为“兔子数列”。数列的定义非常简单:第一项是0,第二项是1,之后每一项都是前两项之和。用数学公式表示...
斐波那契数列是一个经典的数学概念,在计算机科学和编程中有着广泛的应用。这个数列由0和1开始,后面的每一项数字都是前两项数字的和。用数学公式表示为:F(n) = F(n-1) + F(n-2),其中F(0) = 0,F(1) = 1。 编写一...
斐波那契数列是数学领域的一个经典概念,源自13世纪意大利数学家斐波那契(Fibonacci)在其著作《算盘书》中提出的一个兔子繁殖问题。这个问题假设每对兔子在出生后第二个月就能繁殖一对新的兔子,且没有死亡和其他...
斐波那契数列(Fibonacci sequence),也被称为黄金分割数列,是由意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci)在13世纪提出的一个经典数学序列。这个数列的基本定义是从第3项开始,每一项都是前两项的和...
Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。 最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个帖子Python程序员的进化写的很有意思。...