HDOJ--Fibonacci Again
2016-05-31 20:24
489 查看
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.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
思路:若递归则栈溢出,需要迭代化。
坑:如果每次都求f(n)的话数据会溢出,所以可以f(n)存成%3的值即值为0时为yes否则为no
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.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
思路:若递归则栈溢出,需要迭代化。
坑:如果每次都求f(n)的话数据会溢出,所以可以f(n)存成%3的值即值为0时为yes否则为no
#include <iostream> using namespace std; int main() { int n; while (cin>>n) { int fa = 7; //f(n-1) int fb = 11; //f(n-2) for (int i = 2; i <= n; ++i) { int sum = (fa + fb)%3; fa = fb; fb = sum; } if (n <= 1) { cout << "no" << endl; } else { if (fb== 0) cout << "yes" << endl; else cout << "no" << endl; } } return 0; }
相关文章推荐
- java实现Fibonacci算法实例
- Java基于高精度整型实现fibonacci数列的方法
- 用Python实现斐波那契(Fibonacci)函数
- 用Python实现斐波那契(Fibonacci)函数
- 2015 Multi-University Training Contest 6 Solutions
- HDOJ 1002 A + B Problem II (Big Numbers Addition)
- HDU1568(Fobonacci公式)
- Sum Problem
- HDOJ 1009
- HDOJ 1001 递归方法
- HDOJ 1002 C语言版
- HDOJ 1003题解
- Big Number
- hdoj 2036 改革春风吹满地
- hdu 3076 ssworld VS DDD 概率dp
- hdu5007 ACM-ICPC 西安赛区网赛A题 水题
- hdu5011 西安邀请赛E题 Game 博弈论
- hdu5012 ACM-ICPC 西安赛区E题 Dice
- 关于Fibonacci算法及Lucas算法说明
- hdoj2029 Palindromes _easy version