`
Simone_chou
  • 浏览: 196315 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Fibonacci Again(数学)

    博客分类:
  • HDOJ
 
阅读更多

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.
 

 

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;
}

 

分享到:
评论

相关推荐

    斐波那契数列毕业设计论文斐波那契数列的应用本科论文.doc

    它既是数学美的完美体现,又与许多数学概念有着密切的联系,许多看似彼此独立的数学概念,通过斐波那契数列,人们发现了其中的数学联系,从而进一步激发了人们探索数学的兴趣,对数学的认知更加系统化。 斐波那契...

    Fibonacci数列斐波那契数列PPT学习教案.pptx

    "Fibonacci数列斐波那契数列PPT学习教案.pptx" Fibonacci数列是一种非常重要的数学概念,它的应用非常广泛,包括生物学、经济学、计算机科学等领域。下面我们将详细介绍Fibonacci数列的概念、性质和应用。 1. ...

    斐波那契数列的经典应用(数学专业 毕业论文).doc

    斐波那契数列,又称为兔子数列,是由13世纪意大利数学家列昂纳多·斐波那契提出的一组数列。这个数列的每一个数字是前两个数字的和,通常以0和1作为起始数字,即F(0)=0,F(1)=1。数列的后续项可以通过此规则计算出来...

    (新课标)2020年高考数学 题型全归纳 斐波那契数列.doc

    斐波那契数列,又称为兔子数列,是由13世纪意大利数学家斐波那契提出的一个数学序列。这个数列的特点是每一项都等于前两项之和,起始的两项为1。具体地,斐波那契数列可以用递归公式表示:F0 = 1, F1 = 1, Fn = Fn-1...

    C语言解答经典的数学问题兔子繁衍问题即斐波那契数列问题

    斐波那契数列是数学中一个广为人知的序列,它的每一项都是前两项的和,其定义如下:F(1) = 1, F(2) = 1, 而对于n &gt; 2时,F(n) = F(n-1) + F(n-2)。这个数列不仅在数学上具有重要意义,还在计算机科学中扮演了重要的...

    斐波那契数(fibonacci汇编程序)

    斐波那契数列是由意大利数学家列奥纳多·斐波那契(Leonardo Pisano Fibonacci)在13世纪提出的一种数列,其特点是每个数都是前两个数的和。数列的前几项通常是1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144等。 ...

    Fibonacci(斐波那契)数列的JAVA解法

    该序列以意大利数学家 Leonardo Fibonacci 的名字命名,故称为斐波那契数列。该序列的特点是每个数字都是前两个数字的和,以此模式无限延续下去。 下面是斐波那契数列的JAVA解法,包括递归算法、循环算法、数组保存...

    深度学习案例:会意高中数学中的斐波那契数列.pdf

    深度学习案例:会意高中数学中的斐波那契数列 在本案例中,我们探讨的是如何通过深度学习策略让学生“会意”高中数学中的斐波那契数列。斐波那契数列是一个在数学中极为重要的概念,它不仅在数学领域有着广泛的应用...

    数学和数学家的故事(全四册)].李学数.扫描版.rar

    文艺复兴时期,斐波那契的印度数字系统对算术的革新,为欧洲的数学进步吹响了号角。 第二册讲述了数学的一次巨大飞跃——17至18世纪的数学革命。笛卡尔的解析几何将代数与几何相结合,开启了现代数学研究的新篇章。...

    斐波那契数列.pdf

    斐波那契数列(Fibonacci sequence)是数学中一个非常著名的数列,其特点是每一项数值都是前两项数值的和。通常情况下,斐波那契数列的第一项为0或1,第二项也为1,后续各项则根据定义递推得到。 **基本形式:** \...

    fibonacci_Fibonacci_MT4斐波那契回调指标_

    斐波那契回调指标是金融交易中常用的技术分析工具,特别是在外汇市场(MT4平台)中,它基于斐波那契数列的数学原理来预测价格的潜在反转点。这个工具帮助交易者识别支撑位和阻力位,为决策提供依据。 斐波那契数列...

    Java实现斐波那契数列(Fibonacci sequence)

    斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。java代码实现该数列

    离散数学及其应用_pdf_Epp离散数学_离散数学_

    递归在编程中用于定义数据结构(如链表、树)、解决复杂问题(如汉诺塔问题)和设计算法(如快速排序、斐波那契数列)。 算法分析是离散数学与计算机科学的交叉点,它研究算法的时间和空间效率。Epp的书中会介绍大O...

    斐波那契堆(fibonacci)

    2. 删除最小元素:斐波那契堆通过“瀑布修剪”(Fibonacci Heap Deletion)策略来优化这个操作。当删除最小元素时,会将所有与其相邻的子节点提升到其位置,这个过程可能引发树的重构,但总体上保证了操作的时间...

    组合数学fibonacci数列递归非递归求解

    这个数列起源于意大利数学家斐波那契(Leonardo Fibonacci)提出的一个兔子繁殖问题。Fibonacci数列不仅在数学上具有重要意义,在计算机科学、生物学等领域也有广泛的应用。 ### Fibonacci数列的递归求解方法 递归...

    算法-数论- 斐波那契数列(Fibonacci).rar

    这个数列由意大利数学家斐波那契(Leonardo Fibonacci)在13世纪引入,用于模拟兔子繁殖的问题,因此也被称为“兔子数列”。数列的定义非常简单:第一项是0,第二项是1,之后每一项都是前两项之和。用数学公式表示...

    Fibonacci:程序取一个整数,并打印出斐波那契数列的那一项

    斐波那契数列是一个经典的数学概念,在计算机科学和编程中有着广泛的应用。这个数列由0和1开始,后面的每一项数字都是前两项数字的和。用数学公式表示为:F(n) = F(n-1) + F(n-2),其中F(0) = 0,F(1) = 1。 编写一...

    (新课标)2015年高考数学 题型全归纳 兔子繁殖问题与斐波那契

    斐波那契数列是数学领域的一个经典概念,源自13世纪意大利数学家斐波那契(Fibonacci)在其著作《算盘书》中提出的一个兔子繁殖问题。这个问题假设每对兔子在出生后第二个月就能繁殖一对新的兔子,且没有死亡和其他...

    斐波那契数列c++.pdf

    斐波那契数列(Fibonacci sequence),也被称为黄金分割数列,是由意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci)在13世纪提出的一个经典数学序列。这个数列的基本定义是从第3项开始,每一项都是前两项的和...

    用Python实现斐波那契(Fibonacci)函数

    Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。 最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个帖子Python程序员的进化写的很有意思。...

Global site tag (gtag.js) - Google Analytics