【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
答案提示: