斐波那契的整除(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 的最小公倍数)

目录
相关文章
|
4月前
leetcode-29:两数相除
leetcode-29:两数相除
17 0
|
8月前
1. 两数之和
1. 两数之和
32 0
|
9月前
|
算法 C语言 C++
【数论】试除法判断质数,分解质因数,筛质数
将定义进行模拟,若整除了除1与其自身的另外的数,则为质数
72 0
|
11月前
|
存储 算法 安全
LeetCode - #29 两数相除
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
11月前
|
存储 算法 测试技术
leetcode:29.两数相除
给定两个整数,被除数 dividend和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
59 0
|
Python
两数之和
两数之和
59 0
|
存储 Python 容器
|
存储
二刷--两数相加
二刷--两数相加
88 0
二刷--两数相加