HDU 1021 题解

HDU 1021

【数学】【规律】【打表】
题目


Main Idea:

    按照题目给定的另一种斐波那契数列递推式得到由F[0]=7,F[1]=11, F(n) = F(n-1) + F(n-2) (n>=2)得出F[n]。

Problem Solving Idea:

    打表,找规律,O(1)解决。

Summary:

    1.要打表要根据题目最终(本质)所需打表,所以打出F[n]%3.

AC代码

#include <bits/stdc++.h> 
using namespace std;
typedef long long ll;
int F[1000001];

int main(){
	int n;
	F[0]=7,F[1]=11;
	while(scanf("%d",&n)!=EOF){
		if((n-1)%8==1||(n-1)%8==5)	printf("yes\n");
		else printf("no\n");
}
//	for(int i=2;i<1000;i++){
//		F[i]=F[i-1]+F[i-2];
//		printf("%d ",F[i]%3);
//	}
	return 0;
}

posted on 2019-12-04 21:20  休比  阅读(90)  评论(0编辑  收藏  举报