【2014华为校园招聘成都上机笔试题目】

2013-09-14 17:18:20

注意事项:
1. 每道题最多只能提交5次;
2. 程序从标准输入 stdin('Standard Input')获取输入,并将输出结果输出到标准输出stdout('Standard Output')。
3. 输入输出均不能含有任何提示信息;
4. 测试平台的编译内核为VS2005及JDK1.7 。使用Java答题时,类名必须为"Main",不要使用package关键字声明;使用C/C++答题时,请使用VS2005支持的数据类型和函数;
5. 代码中不允许有任何文件操作;
6. 提交答案时请提交全部代码,包括main函数和所有子函数;
7. 答案提交后,点击状态可以查看判题结果及相应提示;
8. 信息注册环节不可跳过,否则无法导出成绩。

 


 

 

时间:2013-09-14 上午 地点:电子科大清水河校区

第一题、输入一个正整数,并编码为字符串进行输出 


描述: 1、输入一个正整数,并编码为字符串进行输出。
编码规则为:数字0-9分别编码为字符a-j
2、输入肯定是正整数,不用做错误较验
 
运行时间限制: 无限制 
内存限制: 无限制 
输入: 正整数
 
输出: 字符串
 
样例输入: 123 
样例输出: bcd 
答案提示: 编写一个main函数实现该功能算法。 


第二题、计算最后一个出列者的编号 
描述: 现在有n个竞争者围坐一圈,争夺一个很有吸引力的工作(年薪100w $)。假设这些人编号1,2,。。。,n。第一次从1开始报数,数到m(m>0)的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列。以此类推,直到所有人出列为止。老板说最后一个出列的人将获得这份工作。
 
如果你也想竞争这份工作,那么你会坐着哪个位置上?
 
实现一个函数,当老板告诉你n和m时,返回得到工作的那个人的编号。
 
运行时间限制: 无限制 
内存限制: 无限制 
输入: 竞争者人数,报数
 
输出: 最后出列的竞争者的编号。异常则返回 -1。
 
样例输入: 10,10 
样例输出: 8 
答案提示:   

第三题、条件表达式求值 
描述: 给定一个以字符串形式表示的算术表达式,计算该表达式的值。
表达式支持如下运算:“+、-、*、/”,其中“*”和“/”的优先级要高于“+”和“-”;
不需要考虑括号,且表达式之间没有空格;
例如:对于表达式"3-2+15*2",该表达式值为31.
 
运行时间限制: 60 Sec 
内存限制: 256 MByte 
输入: 加减乘除四则运算表达式,长度不超过1024字节,运算式中不含有括号和空格。
 
输出: 表达式的运算结果。
 
样例输入: 3-2+15*2
 
样例输出: 31
 
答案提示:   


 

时间:2013-09-14 下午 地点:电子科大清水河校区

第一题、输入一串整数,求出整数最大和最小数之和 (输入好像是字符串,别人贴出来的,写的不太清楚)
输入: 1,2,3,4,最大4,最小1
输出:5
说明:可能会存在负数

第二题、大数求和问题
描述: 两个小于128位的大数,求其和
输入:1234567890987654,888888888888888
输出: 2123456779876542

第三题、求子串问题(表述不清楚,还没看懂)
描述: 输入小于28组字符串,求出其最长子串
输入:i am lock buss$,dage ggda lock bus*,dagdsagds lock bus daggdsa
输出:lock bus 


 

 

时间:2013-09-15 上午8点 地点:电子科大清水河校区

五分制成绩
描述:    对于一个给定的百分制成绩,输出相应的五分制成绩。设:90分及以上为'A'。80-89分为'B',70-79分为'C',60-69分为'D',60分一下为'E',不合法的输入,输出ERROR


例如,输入:87,输出:B;
输入:101,输出:ERROR


运行时间限制:    无限制
内存限制:    无限制
输入:    一个整数
输出:    输出五分制的成绩。当输入不合法的时候输出ERROR
样例输入:    87
样例输出:    B
答案提示:     

实现两个合法时间相加
描述:    给定两个合法的时间(格式固定:hh:mm:ss,时间合法,不用考虑其它情况),输入两个时间相加后的结果;注意,相加后的结果也必需是一个合法的时间;
附合法时间定义:小时在[00-23]之间,分钟和秒分别是在[00-59]之间;
运行时间限制:    无限制
内存限制:    无限制
输入:    时分秒格式的时间字符串,如00:00:00
输出:    时分秒格式的时间字符串,如00:00:00

样例输入:    00:00:00 00:00:01
样例输出:    00:00:01
答案提示:    建议将时间转换为秒数计算

等式变换
描述:    输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。

1 2 3 4 5 6 7 8 9 = X

比如:
12-34+5-67+89 = 5
1+23+4-5+6-7-8-9 = 5

请编写程序,统计满足该输入整数的所有等式的个数。


运行时间限制:    无限制
内存限制:    无限制
输入:    正整数,等式右边的数字
输出:    使该等式成立的个数
样例输入:    5
样例输出:    21
答案提示: 

posted @ 2013-09-14 17:20  永不止步,永无止境  阅读(1579)  评论(0编辑  收藏  举报