Description
1,1,2,3,5......这是斐波那契数列,现在huhu要知道第n项能否被3或者4整除
Input
一个数n,表示第n项(1<=n<=500000)
Output
被12 整除输出YES, 否则被3整除输出3,被4整除输出4,都不可以输出NO
Sample Input
4
6
7
Sample Output
3
4
NO
解析
这明显是一道规律题,我们试着列出前几项斐波那契数1 1 2 3 5 8 13 21 34 55 89 144 233......我们发现能被12整除的只有下标为12倍数的斐波那契数,能被3整除的只有下标为4的倍数的斐波那契数,能被4整除的只有下标为6的倍数的斐波那契数
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n%12==0)
printf("YES\n");
else if(n%4==0)
printf("3\n");
else if(n%6==0)
printf("4\n");
else
printf("NO\n");
}
return 0;
}