标签:
已知斐波那契数列有如下递归定义,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整除,你知道吗?
输入数据有若干组,每组数据包含一个整数n(1< n <1000000000)。
对应每组数据n,若 f(n)能被3整除,则输出“3”; 若f(n) 能被4整除,则输出“4”;如果能被12整除,输出“YES”;否则输出“NO”。
4 6 7 12
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; }
标签:
原文地址:http://www.cnblogs.com/nefu929831238/p/5324372.html