- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、编程题
1、1.菲波那契数列
菲波那契数列是指这样的数列:
数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。
时间限制:1000
内存限制:65536
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整
数a(1=a=1000000)。
输出
n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对
10000取模得到的结果。
样例输入
4
5
2
19
1
样例输出
5
1
4181
1
参考答案:
略
解析:【喵呜刷题小喵解析】首先,我们需要读取输入的测试数据的组数n,然后
对于每组测试数据,我们读取正整数a。对于每个a,我们创建一个列表fib,初始化
为[0,1,
1],分别表示数列的前三个数。然后,我们循环计算数列中的下一个数,直到计算
出第a个数。具体来说,我们从第3个数开始循环,每次将当前数列的倒数第二个数
和倒数第三个数相加,得到新的数,然后将新的数添加到数列的末尾。最后,我们
输出第a个数对10000取模的结果。注意,由于a的值可能很大,我们需要使用列表
来存储数列,而不是使用递归的方式计算数列。否则,递归的方式可能会导致栈溢
出。另外,由于每次计算下一个数都需要对10000取模,我们可以直接在计算过程
中取模,避免在循环结束后再次取模。
2、2.广义格雷码
在一组数的编码中,若任意两个相邻(首尾也视为相邻)的代码只有一位二进制数
不同,则称这种编码为格雷码。如四位格雷码:
0000、0001、0011、0010、0110、0111、0101、0100、1100、1101、1111、1110、
1010、1011、1001、1000
现在将格雷码扩展至其他进制,仍然是相邻两个数只能有一位不同。输入两个正整
数n,m分别表示长度和进制,每行输出一个n位m进制数,输出任意一种编码即可。
(提示:putchar输出效率更高)
时间限制:1000
内存限制:65536
输入
一行,两个整数n,m。其中2≤n≤12,2≤m≤10且mn≤500000
输出
任意一种编码方案,每个编码一行。相邻两个编码相差一位。第一个编码和最后一
个编码算相邻
样例输入
23
样例输出
00
10
20
21
01
11
12
22
02
参考答案:
略
解析:【喵呜刷题小喵解析】1.**解题思路**:*
首先,我们需要理解格雷码的性质:任意两个相邻的代码只有一位二进制数不同。
*格雷码可以通过递归的方式生成,从二进制格雷码扩展到其他进制的格雷码。*
对于m进制的格雷码,我们可以先生成一个m位的二进制格雷码,然后将其转换为
m进制。2.**代码解析**:*`scanf(%d%d,n,
m);`:从标准输入读取n和m的值。*`inta[m][m],idx=
0;`:定义一个m*m的二维数组a用于存储m进制的格雷码,idx用于记录当前生成的
格雷码的位置。*`for(inti=0;im;i++){...}`:初始化m进制的格雷码表。*`for
(inti=0;i(1n);i++){...}`:生成n位的m进制格雷码。*`intnum=
0;`:用于存储当前生成的m进制格雷码。*`for(intj=0;jn;j++){...
}`:将二进制格雷码转换为m进制格雷码。*`printf(%0*d\n,n,
num);`:输出生成的m进制格雷码。这段代码的主要思想是先生成m进制的二进制
格雷码,然后将其转换为m进制格雷码,满足了题目要求的“任意两个相邻的代码
只有一位二进制数不同”。
3、3.课程冲突
小A修了n门课程,第i门课程是从第ai天一直上到第bi天。
定义两门课程的冲突程度为:有几天是这两门课程都要上的。
例如a1=1,b1=3,a2=2,b2=4时,这两门课的冲突程度为2。
现在你需要求的是这n门课中冲突程度最大的两门课的冲突程度。
时间限制:1000
内存限制:65536
输入
第一行一个正整数n表示课程数量。接下来n行,每行两个正整数ai,bi。2≤n≤
1000,1≤ai≤bi≤1000。
输出
输出一个整数表示最大的冲
原创力文档


文档评论(0)