文章目录
1 题目
NowCoder数列
时间限制 3000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
NowCoder最近在研究一个数列:
- F(0) = 7
- F(1) = 11
- F(n) = F(n-1) + F(n-2) (n≥2)
他称之为NowCoder数列。请你帮忙确认一下数列中第n个数是否是3的倍数。
输入描述:
输入包含多组数据。
每组数据包含一个整数n,(0≤n≤1000000)。
输出描述:
对应每一组输入有一行输出。
如果F(n)是3的倍数,则输出“Yes”;否则输出“No”。
输入例子:
0
1
2
3
4
5
输出例子:
No
No
Yes
No
No
No
2 解析
通过上图,发现如果(n-2)%4==0,则是3的倍数。于是得到答案。
3 参考代码
#include <cstdio>
typedef long long ll;
const int MAXN = 100;
ll f[MAXN] = {7,11};
int main(int argc, char const *argv[]){
// for (int i = 2; i < MAXN; ++i) {
// f[i] = (f[i - 1] + f[i - 2]);//递推式//f[20] = 10946
// }
int n;
while(scanf("%d", &n) != EOF){
if((n-2)%4==0)printf("Yes\n");
else printf("No\n");
}
return 0;
}
繁星蓝雨
发布了444 篇原创文章 · 获赞 52 · 访问量 5万+
私信
关注