以下练习题  出自此网页 http://cpp.zjut.edu.cn/ProblemList.aspx

1090 菲波那契数的余数 
Time Limit:1000MS  Memory Limit:32768K

Description:

菲波那契数大家可能都已经很熟悉了: f(1)=0; f(2)=1; f(n)=f(n-1)+f(n-2) n>2。 因此,当需要其除以某个数的余数时,不妨加一些处理就可以得到。

Input:

输入数据为一些整数对P、K,P(1<P<5000),表示菲波那契数的序号,K(1<=K<15)表示2的幂次方。遇到两个空格隔开的0时表示结束处理。

Output:

输出其第P个菲波那契数除以2的K次方的余数。

Sample Input:

6 2
20 10
0 0

Sample Output:

1
85
#include<stdio.h>
#include<time.h>
#include<math.h>
int tailfib(int n,int acc1,int acc2) {if(n==1) return 0;if (n ==2) {return acc1;}return tailfib(n-1,acc2,acc1 + acc2);
}
void main()
{int P,K;int x;while(scanf("%d%d",&P,&K)!=0&&P!=0&&P!=0){int t=((int)pow(2,K));printf("%d mod %d=",tailfib(P,1,1),t);x=tailfib(P,1,1)%t;printf("%d\n",x);}
}

1091 Fib数之奇偶性 
Time Limit:1000MS  Memory Limit:32768K

Description:

Fibonacci数列定义如下: a[1]=1; a[2]=1; a[n]=a[n-1]+a[n-2](n>2)。 对于给定N (1≤N≤10000),请判别数列第N项的奇偶性。

Input:

给定整数N,如N=0则结束输入(N=0不需要判断)。

Output:

输出第N项Fibonacci数列的奇偶性,如果为奇数则请输出“ODD”,否则为“EVEN”。

Sample Input:

1
2
3
0

Sample Output:

ODD
ODD
EVEN
#include<stdio.h>
#include<time.h>
#include<math.h>
int tailfib(int n,int acc1,int acc2) {if (n < 2) {return acc1;}return tailfib(n-1,acc2,acc1 + acc2);
}
void main()
{int N;while(scanf("%d",&N)&&N!=0){if(tailfib(N,1,1)%2!=0)printf("ODD\n");elseprintf("EVEN\n");}
}

1211 菲波那契数 
Time Limit:1000MS  Memory Limit:32768K

Description:

已知菲波那契数的定义: f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) n>1的整数 根据输入数据中的n,输出第n项菲波那契数。

Input:

输入数据中含有一些整数n(0≤n≤46)。

Output:

根据每个整数n,输出其第n项菲波那契数,每个数占独立一行。

Sample Input:

5
6
7
8
9
40

Sample Output:

5
8
13
21
34
102334155
#include<stdio.h>
#include<time.h>
#include<math.h>
double tailfib(int n,int acc1,int acc2) {if (n < 1) {return acc1;}return tailfib(n-1,acc2,acc1 + acc2);
}
void main()
{int N;printf("需要输出第几个菲波那契数?\n");while(scanf("%d",&N)!=0)printf("第%d个斐波那契数:%0.0lf\n",N,tailfib(N,0,1));
}

1451 Fib数的2幂次模 
Time Limit:200MS  Memory Limit:32768K

Description:

已知菲波那契(简写为Fib)函数对于正整数构成一个数列。 f(0)=1,f(1)=1,f(n)=f(n-1)+f(n-2)。(n>1) 2的幂次方有2,4,8,…,第n项Fib数对于2的幂次方的余数是多少,是你现在要关心的问题。

Input:

输入数据有若干整数对,每对整数m,n表示2的m(1≤m≤32)次幂和第n(0<n<400000)项Fib数。

Output:

对于每对整数m,n,输出第n项Fib数对于2的m次方的余数。

Sample Input:

2 2
2 3
5 28

Sample Output:

2
3
21
#include<stdio.h>
#include<math.h>
int Fibonacci(int n)  //迭代法
{int F,Fa,Fb;Fa=1;Fb=1;for(int i=2;i<=n;i++){F=Fa+Fb;Fb=Fa;Fa=F;}return F;
}
void main()
{int n,m;int sum;while(scanf("%d %d",&m,&n)!=0){sum=Fibonacci(n)%(int)pow(2,m);printf("%d\n",sum);}
}

1457 Fibonacci again 
Time Limit:1000MS  Memory Limit:32768K

Description:

A Fibonacci sequence is calculated by adding the previous two members in the sequence,with the first two members being both 1.Namely,f(1)=1,f(2)=1,f(n>3)=f(n-1)+f(n-2).
Your task is to take a number n as input,and print the result of that Fibonacci mod five.

Input:

Each line will contain an integer n(n<=10^9).Process to end of file.

Output:

For each case,output the result in a line.

Sample Input:

1
5

Sample Output:

1
0
#include<stdio.h>
#include<time.h>
#include<math.h>
int tailfib(int n,int acc1,int acc2) {if (n < 2) {return acc1;}return tailfib(n-1,acc2,acc1 + acc2);
}
void main()
{int N;int sum;while(scanf("%d",&N)!=0&&N!=0){sum=tailfib(N,1,1)%5;printf("输出斐波那契%d模五的结果%d\n",N,sum);}
}

1500 Fibonacci Number 
Time Limit:1000MS  Memory Limit:32768K

Description:

The fibonacci numbers are as follows: 
f[1] = 1; f[2] = 2; 
f[n] = f[n - 1] + f[n - 2];

And s[n] is defined: 
s[n]=f[1]*f[1]+f[2]*f[2]+…+f[n]*f[n]

Now ,give you the integer number a, x and n, you should calculate the ans, and the ans is defined as follows: 
ans = (a^s[x]) % n;

You must pay attention to the range of the number: 1 ≤ a ≤ 100000000; 1 ≤ x ≤ 1000000000; 2 ≤ n ≤ 100000000.

Input:

The input contains several test cases. For each test case, only line contains three integer numbers a, x and n separated by spaces. The end of the input is indicated by a line containing three zeros separated by spaces.

Output:

For each test case the output is only one integer number ans in a line.

Sample Input:

1 1 100
2 3 1000000
0 0 0

Sample Output:

1
16384

1520 等差数列&Fibonacci数列 
Time Limit:5000MS  Memory Limit:32768K

Description:

童鞋们已经对等差数列和Fibonacci数列非常了解了。 
所谓等差数列就是: 
g(i)=k*i+b; 
我们在这里假设k,b为非负整数。 
所谓Fibonacci数列就是: 
f(0)=0 
f(1)=1 
f(n)=f(n-1)+f(n-2) (n>=2)

现在小戴童鞋心中总有个问题无法解决: 
给你k,b,n,请你计算f(g(i)) 的和,其中i为[0,n),结果模取M。

Input:

数据存在多组,每组一行,有四个非负整数k,b,n,M。 每个数都不超过1,000,000,000。

Output:

输出所要求得结果,每个结果占一行。

Sample Input:

2 1 4 100
2 0 4 100

Sample Output:

21
12
#include<stdio.h>
#include<time.h>
long tailfib(int n,int acc1,int acc2) {if(n==0) return 0;if (n < 2) {return acc1;}return tailfib(n-1,acc2,acc1 + acc2);
}
void main()
{int i,g;int k,b,n,M;while(scanf("%d%d%d%d",&k,&b,&n,&M)!=0){int s=0;for(i=0;i<n;i++){g=k*i+b;s+=(tailfib(g,1,1));}printf("%d\n",s%M);}
}

Fibonacci数列练习题相关推荐

  1. 蓝桥杯练习题Java实现 入门训练 Fibonacci数列

    蓝桥杯练习题Java实现 入门训练 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,F ...

  2. 蓝桥杯练习题之 Fibonacci数列

    入门训练 Fibonacci数列 时间限制:1.0s   内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非 ...

  3. Java 练习题 Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  4. 蓝桥杯练习题--Fibonacci数列

    Fibonacci数列 方法一(也是我第一个想到的办法 但是花费时间太多了)递归 #include<iostream> using namespace std; int f(int x) ...

  5. 蓝桥杯练习题 Fibonacci数列

    下学期要跟着学校去参加蓝桥杯,所以在这里自己留念之用.(java) 1 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. import java.util.Scann ...

  6. 蓝桥杯 Python 练习题 Fibonacci数列

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除 ...

  7. 以每行5个数输出fib前20 c语言循环,打印Fibonacci数列方法汇总(前20项,每行5个)...

    NO.1 迭代法 标签:通俗.易懂 思路:先打印第一项.再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余). #inc ...

  8. 求Fibonacci数列的前20项

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 2.编程求Fibonacci数列的前20项. Fibonacci数列的定义:F0=0, ...

  9. 【c语言】蓝桥杯入门训练 Fibonacci数列

    [问题描述] Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. [输入格式] 输 ...

最新文章

  1. 从寻找可敬的人类开始,扩展未来人类生存的8个维度
  2. 大家一起和snailren学java-(一)对象导论
  3. 克服过拟合和提高泛化能力的20条技巧和诀窍
  4. html卷轴展开,HTML文本框滚动代码4:卷轴变化应用
  5. NOIP 2016 迟来的满贯
  6. 轻量易用的微信Sdk发布——Magicodes.Wx.Sdk
  7. xml html 转化为字符串,XSLT:将字符串解析为XML节点集(concret:将HTML-String转换为节点集)?...
  8. ROS MATLAB 启动
  9. 1.微信小程序-B站:前言准备
  10. AndroidTestCase常用的两段配置
  11. android平台的计时功能,Android实现简单计时器功能
  12. 3dMax模型尺寸更改与模型均匀缩放
  13. 自定义Openstack图标
  14. 天津麒麟签约“京津冀大数据协同处理中心”
  15. html5 dom video,HTML5 / HTML5 video - 使用 DOM 进行控制 - 汇智网
  16. GRE阅读的突破方法——集中突破法
  17. 电脑的dns服务器未响应怎么解决,电脑DNS服务器未响应怎么解决
  18. iPhone的设置中,找不到“开发者选项”
  19. delta和gamma中性_Delta中性
  20. 判断ip是内网还是外网, 判断请求来之pc还是mobile

热门文章

  1. 优先队列三大利器——二项堆、斐波那契堆、Pairing 堆
  2. 图灵专访:郭霖的成长之路
  3. python关于q检验
  4. Windows一键清空回收站
  5. R语言对京东商品进行文本爬虫
  6. 广义相对论和量子力学在哪些地方发生了严重的冲突(转)
  7. Linux系统Centos7的虚拟机安装
  8. CTF密码学之RSA攻击算法
  9. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx
  10. 玩转树莓派(六) 部署Seafile搭建私有云