AOJ 761.Fibonacci序列

Fibonacci序列
Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
Total Submission: 34   Submission Accepted: 12
 
Description
Fibonacci 数列的另一种形式
F(0)=7, F(1)=11 F(n)=F(n-1)+F(n-2) (n>=2)

 

Input
包括多行,每行有一个整数n(n<1,00,000),当n<0时表示输入结束

 

Output
对应输入的n,若序列的第n项能被3整数,则输出Yes,否则输出No.

 

Sample Input
OriginalTransformed
0
1
2
3
4
5
-1

 

Sample Output
OriginalTransformed
No
No
Yes
No
No
No

 

递推+记忆化搜索即可

 

AC代码:GitHub

 1 /*
 2 By:OhYee
 3 Github:OhYee
 4 HomePage:http://www.oyohyee.com
 5 Email:oyohyee@oyohyee.com
 6 Blog:http://www.cnblogs.com/ohyee/
 7  
 8 かしこいかわいい?
 9 エリーチカ!
10 要写出来Хорошо的代码哦~
11 */
12  
13 #include <cstdio>
14 #include <algorithm>
15 #include <cstring>
16 #include <cmath>
17 #include <string>
18 #include <iostream>
19 #include <vector>
20 #include <list>
21 #include <queue>
22 #include <stack>
23 #include <map>
24 using namespace std;
25  
26 //DEBUG MODE
27 #define debug 0
28  
29 //循环
30 #define REP(n) for(int o=0;o<n;o++)
31  
32 const int maxn = 100005;
33 int f[maxn];
34 int F(int n) {
35     if(f[n] == -1) {
36          f[n] = F(n - 1) + F(n - 2);
37     }
38     return f[n];
39 }
40  
41 bool Do() {
42     int n;
43     if(scanf("%d",&n),n<0)
44         return false;
45  
46     //printf("%d %d ",n,F(n));
47     printf((F(n) % 3) == 0 ? "Yes\n" : "No\n");
48  
49     return true;
50 }
51  
52 int main() {
53     memset(f,-1,sizeof(f));
54  
55     f[0] = 7;
56     f[1] = 11;
57  
58     while(Do());
59     return 0;
60 }

 

转载于:https://www.cnblogs.com/ohyee/p/5513860.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值