斐波那契的整除(nefu 115)

简介: 已知斐波那契数列有如下递归定义:f1 = 1,f2 = 1,且对于n >= 3,有fn = fn-1 + fn-2,它的前几项可以表示为1, 1,2 ,3 ,5 ,8,13,21,34…问fn的值是否能被 3 和 4 整除?

题目

已知斐波那契数列有如下递归定义:f1 = 1,f2 = 1,且对于n >= 3,有fn = fn-1 + fn-2,它的前几项可以表示为1, 1,2 ,3 ,5 ,8,13,21,34…问fn的值是否能被 3 和 4 整除?


输入

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


输出

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


输入样例

4

6

7


输出样例

3

4

NO


AC代码

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        if (n % 12 == 0) puts("YES");
        else 
        {
            if (n % 4 == 0) puts("3");
            else if (n % 6 == 0) puts("4");
            else puts("NO");
        }
    }
    return 0;
}

总结

fn能被 3 整除,当且仅当 n 可以被 4 整除;fn能被 4 整除,当且仅当 n 可以被 6 整除;fn能被 12 整除,当且仅当 n 可以被 12 整除(4 和 6 的最小公倍数)

目录
相关文章
|
6月前
|
Java C++
筛法求质数
筛法求质数
54 0
筛质数、分解质因数和快速幂的应用
筛质数、分解质因数和快速幂的应用
61 0
|
6月前
|
C++
【PTA】​ L1-080 乘法口诀数列​(C++)
【PTA】​ L1-080 乘法口诀数列​(C++)
97 0
【PTA】​ L1-080 乘法口诀数列​(C++)
Fibonacci数列的多种求法
Fibonacci数列的多种求法
76 0
|
存储 算法 Linux
【前缀和】974. 和可被 K 整除的子数组
同样的,本题利用了前缀和的定理.当(pre[i]-pre[j-1])mod k==0时.即为所寻找的答案.
54 0
|
算法 C语言 C++
【数论】试除法判断质数,分解质因数,筛质数
将定义进行模拟,若整除了除1与其自身的另外的数,则为质数
128 0
7-89 乘法口诀数列
7-89 乘法口诀数列
62 0
PTA 7-4 素数等差数列 (20 分)
2004 年,陶哲轩(Terence Tao)和本·格林(Ben Green)证明了:对于任意大的 n,均存在 n 项全由素数组成的等差数列。
114 0
蓝桥杯-Fibonacci数列(打表)
蓝桥杯-Fibonacci数列(打表)
|
存储
二刷--两数相加
二刷--两数相加
111 0
二刷--两数相加