HDOJ 1021 Fibonacci Again
来源:互联网 发布:阿里云 cdn 清除缓存 编辑:程序博客网 时间:2024/05/01 20:39
Fibonacci Again
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 43372 Accepted Submission(s): 20712
Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).
Output
Print the word "yes" if 3 divide evenly into F(n).
Print the word "no" if not.
Print the word "no" if not.
Sample Input
012345
Sample Output
nonoyesnonono
解法一:同余定理,数列打表。
由于题中给出的数据较大,用数组储存会溢出,所以在打表时要用上同余定理。这个不多说,代码如下:
#include<stdio.h>#define max 1000010int a[max];int main(){int n,i;a[0]=7;a[1]=11;for(i=2;i<max;i++) a[i]=((a[i-1]%3)+(a[i-2]%3))%3;//同余定理,防止数据溢出 while(scanf("%d",&n)!=EOF){if(!a[n]) printf("yes\n");else printf("no\n");}return 0;}
解法二:找规律。
数及对应的规律用(int型表示)
0 1 2 3 4 5 6 7 ......41 42
7 11 18 29 47 76 123 199......1568397607 负值(超出最大整数值,溢出)
数字规律
前几位数及其余数
0 1 2 3 4 5 6 7 8
数 7 11 18 29 47 76 123 199 322
余数 1 2 0 2 2 1 0 1 1
可知观察每四个为一组中第三个为yes即 i%4==2或(i-2)%4==0求即可
具体代码如下:
#include<stdio.h>int main(){int n;while(scanf("%d",&n)!=EOF){if(n%4==2) printf("yes\n");else printf("no\n");}return 0;}
0 0
- HDOJ 1021: Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- hdoj 1021 Fibonacci Again
- hdoj 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- hdoj 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- 【HDOJ】【1021】Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- HDOJ 1021 Fibonacci Again
- hdoj-【1021 Fibonacci Again】
- HDOJ 1021 Fibonacci Again
- vector_construct_interator;delete为什么能识别free内存大小
- 奔跑吧兄弟第二季QQ中奖是不是真的吗?
- linux命令2--chgrp命令
- nginx配置静态文件目录,压缩传输
- RxJava使用介绍
- HDOJ 1021 Fibonacci Again
- 关于extjs5.0下的mixins
- hdu 1690 Bus System
- (Java实现)HTML页面转PDF解决方案
- 使用excel进行数据挖掘(2)----分析关键影响因素
- tar 压缩与解压缩打包命令
- C/C++文件读取报错:stack around the variable 'x' was corrupted.
- leetcode[169]:Majority Element
- Python 字符串操作