nefu 115 斐波那契的整除

Posted 邻家那小孩儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nefu 115 斐波那契的整除相关的知识,希望对你有一定的参考价值。

Description

已知斐波那契数列有如下递归定义,f(1)=1,f(2)=1, 且n>=3,f(n)=f(n-1)+f(n-2),它的前几项可以表示为1, 1,2 ,3 ,5 ,8,13,21,34…,
现在的问题是想知道f(n)的值是否能被3和4整除,你知道吗?

Input

输入数据有若干组,每组数据包含一个整数n(1< n <1000000000)。

Output

对应每组数据n,若 f(n)能被3整除,则输出“3”; 若f(n) 能被4整除,则输出“4”;如果能被12整除,输出“YES”;否则输出“NO”。

Sample Input

4
6
7
12

Sample Output

3
4
NO
YES

//很明显是一道循环节的问题,就是规律比较难找。。
//附图
技术分享

#include <iostream>

using namespace std;

int main()
{
    int n;
    while(cin>>n)
    {
        if(n%4==0&&n%12!=0)
        cout<<"3"<<endl;
        else if(n%6==0&&n%12!=0)
        cout<<"4"<<endl;
        else if(n%12==0)
        cout<<"YES"<<endl;
        else
        cout<<"NO"<<endl;
    }
    return 0;
}
 

以上是关于nefu 115 斐波那契的整除的主要内容,如果未能解决你的问题,请参考以下文章

1355 斐波那契的最小公倍数

这个递归斐波那契的大 O 时间复杂度?

51nod 1355 斐波那契的最小公倍数

1 斐波那契的兔子

用于求解斐波那契的 Java 8 Lambda 表达式(非递归方式)

斐波那契数列