新的斐波那契数列
2014-08-24 00:51
246 查看
转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907
Problem1:
题目描述:
定义一个新的斐波那契数列:
F(0)=7;
F(1)=11;
F(n)=F(n-1)+F(n-2);(n>=2)
输入:
输入有多组;首先输入一个N(N<=100),代表要输入的测试用例的个数;接下来输入N个数字ni(ni<=100),数字间用空格隔开。
输出:
求F(n)能否被3整除,若能整除输出‘yes’,否则输出‘no’。
样例输入:
3 0 1 2
样例输出:
no
no
yes
提示:不能用递归,否则超时!在计算时,我们没必要算出递推的真正值,后面会越来越大,可能Int 都存不下了!题目只要求算是否是3的倍数,也就是说,不管值多大,最后都只是 3n+0,3n+1,3n+2 这三种情况,我们只需对3取余即可。
Problem1:
题目描述:
定义一个新的斐波那契数列:
F(0)=7;
F(1)=11;
F(n)=F(n-1)+F(n-2);(n>=2)
输入:
输入有多组;首先输入一个N(N<=100),代表要输入的测试用例的个数;接下来输入N个数字ni(ni<=100),数字间用空格隔开。
输出:
求F(n)能否被3整除,若能整除输出‘yes’,否则输出‘no’。
样例输入:
3 0 1 2
样例输出:
no
no
yes
提示:不能用递归,否则超时!在计算时,我们没必要算出递推的真正值,后面会越来越大,可能Int 都存不下了!题目只要求算是否是3的倍数,也就是说,不管值多大,最后都只是 3n+0,3n+1,3n+2 这三种情况,我们只需对3取余即可。
/* * 描述: 新的斐波那契数列 * 作者: 张亚超 * 博客: 牟尼的专栏 http://blog.csdn.net/u012027907 * 日期: 2014/8/24 */ #include<stdio.h> #define N 105 int F ; // 记录递推数对3取余的余数 int I ; // 记录输入的n个值 bool mark ; //标记对应数是否是3的余数 int main(){ F[0] = 7; F[1] = 11; for(int i = 0; i < N; i++) //标记初始化为false mark[i] = false; for(i = 2; i < N; i++){ //计算递推数对3取余的余数 F[i] = F[i-1] + F[i-2]; if(F[i] % 3 == 0) //若为3的倍数,标记 mark[i] = true; F[i] %= 3; //重要一步,简化运算,只存对3的余数 } int n; while(scanf("%d",&n) != EOF){ for(int i = 0; i < n; i++){ //输入 scanf("%d",&I[i]); } for( i = 0; i < n; i++){ //输出 if(mark[I[i]]) printf("yes\n"); else printf("no\n"); } } return 0; }转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907
相关文章推荐
- 求斐波那契数列
- Q7--斐波那契数列
- HDU 1865 1sting 斐波那契数列 + 大数加法
- 【矩阵快速幂】 斐波那契数列求解。
- 斐波那契数列 递归算法
- C/C++经典程序训练2---斐波那契数列
- 修改斐波那契数列
- 剑指offer--斐波那契数列
- ZCMU-1347-又是斐波那契数列
- 3种方法求解斐波那契数列
- python之斐波那契数列
- 斐波那契数列(c++实现)
- 斐波那契数列的矩阵求法,效率O(lgn)
- Java中斐波那契数列相关面试题
- 【面试题9】斐波那契数列
- 01-封装函数求斐波那契数列第n项
- 《剑指Offer》斐波那契数列
- 递推递归练习K加强斐波那契数列
- NYOJ_1000又见斐波那契数列_矩阵快速幂+费马小定理
- 题目1075:斐波那契数列