云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第五届华为“创新杯”编程大赛试题与答案

第五届华为“创新杯”编程大赛试题与答案

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 16:30:24

2013年华为周编程大赛

考试说明: 1、本大赛的所有输入都从标准输入 stdin(比如在C语言中用scanf或其他能从标准输入获取数据的库函数)获取输入,系统获取答案的方式是从标准输出获取考生程序的输出(比如在C语言中用printf,或其他可以往标准输出输出信息的库函数),输出的信息只能包含答案,不能包含多余的其他打印信息,否则会导致答案错误。 2、使用Java答题时,类名必须为“Main”;

3、使用C/C++答题时,尽量使用ANSI标准的数据类型和函数; 4、代码中不允许有任何文件操作;

5、阅卷时采用自动执行测试用例进行评分,测试用例不对考生公开

6、阅卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。

两者相同则得分,不同则不得分。

7、提交答案时请提交全部代码,包括main函数和所有子函数;把代码保存成 “姓名_手机号_试题编号.txt “

比如 :

李明_123456789_1.txt 李明_123456789_2.txt 李明_123456789_3.txt

把保存后的文件统一打包成 test.rar ,然后把 test.rar提交到系统就可以了

总共包含3道题目,每道题目的难度不一样,请按题目说明进行答题

【考试的注意事项】

试题1的详细说明请点击这里

试题2的详细说明请点击这里

试题3的详细说明请点击这里

题目描述

在磁盘阵列里,RAID5是一个很基本的数据安全和成本以及性能之间兼顾的技术方案,它是把数据和校验信息均匀的分散到的阵列的各个磁盘

上,阵列的磁盘上既有数据,也有数据校验信息,数据块和对应的校验信息会存储于不同的磁盘上,当一个数据盘损坏时,系统可以根据同一

带区(下图中的D1D2D3P1)的其他数据块和对应的校验信息来重构损坏的数据。如下所示为数据D1D2D3D4D5D6D7D8D9D10D11D12即其相应校验

信息P1P2P3P4在阵列中的分布(D为数据,P为校验信息,每一列为一阵列磁盘,每一行为一带区):

D1(0x1a) D2(0x2a) D3(?) P1(0x6a) D4(0x4a) D5(0x5a) P2(?) D6(0x6a) D7(0x7a) P3(0x6a) D8(?) D9(0x9a) P4(0xad) D10(0xaf) D11(?) D12(0xac)

系统已经把数据信息{ D1(0x1a), D2(0x2a), D3(?),D4(0x6a), D5(0x5a) ,D6(0x6a),D7(0x7a), D8(?),D9(0x9a), D10(0xaf), D11(?)

,D12(0xac)}及其异或校验码信息{P1(0x6a),P2(?),P3(0x6a), P4(0xad)}按照raid5技术如上依次存储在四个阵列磁盘中,但不幸的是部分磁

盘数据已经损坏,如上图所示第3列(即第3块磁盘),请将其同一带区中丢失的信息恢复出来。

注意:数据校验信息是通过异或计算得来的。 例如:

其中“?”表示待恢复的数据和校验码信息。在输入数据时为方便操作,“?”用0xff表示,测试用例中会保证其它正常数据不会出现0xff。以上输入信息变为{ 0x1a, 0x2a, 0xff, 0x6a, 0x4a, 0x5a, 0xff, 0x6a, 0x7a, 0x6a, 0xff, 0x9a, 0xad, 0xaf, 0xff, 0xac }

丢失数据和校验信息的恢复:D3=0x5a, P2=0x7a, D8= 0x8a, D11=0xae 输入

以空格隔开的16进制数字(数据共计16个,如上图中所示规模) 输出

以空格隔开的恢复后的数据和校验信息

样例输入

0x1a 0x2a 0xff 0x6a 0x4a 0x5a 0xff 0x6a 0x7a 0x6a 0xff 0x9a 0xad 0xaf 0xff 0xac 样例输出

0x5a 0x7a 0x8a 0xae

难度:1级

题目描述

随着大数据时代的到来,也就意味着越来越多的数据需要被存储与分析。10年前,市场上主流的硬盘容量也就20GB,而今天,硬盘容量已达到

TB级别。在一些大型企业的数据中心,购买的存储容量多达几十,上百个PB,甚至达到EB级别。但用户在使用过程中,如果将EB级的容量使用

MB呈现,将带来极大的困扰,比如华为网盘给你分配了50M的空间,而你仅使用了11M,还剩下39M,如果华为告诉你,你的网盘空间剩余

33936KB或0.000037TB,你将很难认知当前你的网盘空间只有39M了。但如果转换到GB,则剩余就应该是0.038G,虽能够较好的感知容量剩余大

小,但此时造成了容量损失为39MB-38.92MB=0.08MB,此种转换不可取,因此显示为39M为最优的容量(既能有效识别容量大小,也能够尽可能 减少容量精度损失)。

因此,需要完成一个容量转换算法:给定一个在KB~EB范围内的任意容量大小,需要将其转换到(1~1024)范围内且合适的容量单位上进行呈现 ,要求:

1) 转换后容量的精度保留3位小数,且精度位需要下取整以保证转换后的容量一定可用;如3.1256,精度位下取整后,数字为3.125。

2) 如果容量转换后输出为0.000,则始终以整数形式输出,结果应为0GB;其余结果都需要保留3位精度。 输入

容量输入格式=容量数字+空格+单位,如2.536 PB;单位有KB、MB、GB、TB、PB、EB

输出

转换后容量输出格式=容量数字+单位,如2.536PB;单位有KB、MB、GB、TB、PB、EB;

样例输入 0.00335 TB 样例输出 3.430GB 提示

1EB=1024PB =1024*1024TB

=1024*1024*1024GB

=1024*1024*1024*1024MB

=1024*1024*1024*1024*1024KB

难度:2级

题目描述

判断给定的数字是否满足给定的条件。 说明:

1、 条件是一个字符串,其格式为由数学上的“开闭区间” ,”&&”和”||”组成。其格式举例:[5,7]&&(6,9]||(10,20),该条件就表示

“大于等于5,小于等于7”并且“大于6,小于9”或者“大于10,小于20” 2、 &&优先级高于|| 输入

1、 字符串1:上述描述格式的条件:如[5,7]&&(6,9]||(10,20)

2、 数字:判断是否满足条件的数字:9

说明:上诉两个参数是在一行中输入的,其格式为:字符串1+空格+数字。如[1,2]||(3,4) 3 输出

如果满足条件,则输出1,否则0

样例输入 [1,2]||(3,4] 3 样例输出 0

难度:3级

#include \#include \void main() { int i,j=0,num; int a[16]={0},b[4]; for(i=0;i<16;i++) scanf(\ for(i=0;i<4;i++) if(a[i]==0xff) { num=i; } for(i=0;i<16;i=i+4) { if(num==0) a[i]=a[1+i]^a[i+2]^a[i+3]; if(num==1) a[i]=a[0+i]^a[i+2]^a[i+3]; if(num==2) a[i]=a[1+i]^a[i+0]^a[i+3]; if(num==3) a[i]=a[1+i]^a[i+2]^a[i+0]; b[j++]=a[i]; } for(i=0;i<4;i++) { printf(\ if(i!=3) printf(\ if(i==3) printf(\ } }

#include \#include \

void main() { double a; char aa,t; int j,bb;

}

char b[6]={'K','M','G','T','P','E'};

scanf(\scanf(\while(1) { t=aa; if((a>1024&&aa=='E')||(a<1&&aa=='K')) break; if(a<1) { a=1024*a; for(j=1;j<6;j++) if(aa==b[j]) { aa=b[j-1]; break; } } if(a>1024) { a=a/1024; for(j=0;j<6;j++) { if(aa==b[j]) { aa=b[j+1]; break; } if(aa=='E') break; } } if((a>=1&&a<=1024)||(a<10e-6&&aa=='k')) break; }

if(a*1000<1) { bb=0; printf(\} else printf(\

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2013年华为周编程大赛 考试说明: 1、本大赛的所有输入都从标准输入 stdin(比如在C语言中用scanf或其他能从标准输入获取数据的库函数)获取输入,系统获取答案的方式是从标准输出获取考生程序的输出(比如在C语言中用printf,或其他可以往标准输出输出信息的库函数),输出的信息只能包含答案,不能包含多余的其他打印信息,否则会导致答案错误。 2、使用Java答题时,类名必须为“Main”; 3、使用C/C++答题时,尽量使用ANSI标准的数据类型和函数; 4、代码中不允许有任何文件操作; 5、阅卷时采用自动执行测试用例进行评分,测试用例不对考生公开 6、阅卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。两者相同则得分,不同则不得分。 7、

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com