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;
}