更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
计算工资(20分) 编写函数pay(),带两个输入参数:小时工资和上周员工工作了的小时数。函数计算并返回员工的工资。加班工资的计算方法如下:大于40小时但小于或等于60小时按平时小时薪酬的1.5倍给薪;大于60小时则按平时小时薪酬的2倍给薪。 函数接口定义: pay(salaryHour, hours) salaryHour 是平时小时薪酬,hours 是员工工作的小时数 裁判测试程序样例: /* 请在这里填写答案 */ def main(): salaryPerHour = int(input()) hours = int(input()) print(pay(salaryPerHour, hours)) main() 输入样例1: 在这里给出一组输入。例如: 10 35 输出样例1: 在这里给出相应的输出。例如: 350 输入样例2: 在这里给出一组输入。例如: 10 45 输出样例2: 在这里给出相应的输出。例如: 475.0 输入样例3: 在这里给出一组输入。例如: 10 61 输出样例3: 在这里给出相应的输出。例如: 720.0 编译器:PYTHON3 代码示例(正确代码): def pay(salaryHour, hours): if hours <= 40: total = salaryHour * hours elif hours <= 60: total = salaryHour * 40 + (hours - 40) * 1.5 * salaryHour else: total = salaryHour * 40 + 20 * 1.5 * salaryHour + (hours - 60) * 2 * salaryHour return total 评测结果:答案正确(20分) 测试点得分: | 测试点 | 结果 | 得分 | 耗时 | 内存 | |--------|------|------|------|------| | test1 | 答案正确 | 10 | 18.00 ms | 2908 KB | | test2 | 答案正确 | 6 | 19.00 ms | 2912 KB | | test3 | 答案正确 | 4 | 18.00 ms | 2888 KB |
汉诺塔问题(15分) 汉诺塔问题求解:有三根相邻的柱子,假设标号分别为A、B、C,其中A柱子从下到上按金字塔状依次叠放了N个不同大小的圆盘,现要把A柱子上的所有圆盘一次一个地移动到C柱子上,移动的过程中可以借助B柱子中转,并且每根柱子上的圆盘必须始终保持上小下大的叠放顺序。编写一个函数,输出移动轨迹(提示:用递归函数)。 函数接口定义: 函数接口: hanoi(n,a,b,c),print 移动轨迹并统计移动次数 n 表示要移动的圆盘个数,a,b,c为三根柱子名称,表示将盘子从a移动到c,b为中转柱。 裁判测试程序样例: 测试样例: n=int(input()) step=0 hanoi(n,'A','B','C') print('共移动次数:',step) 输入样例1: 输入n(1<=n<=5): 1 输出样例1: 在这里给出相应的输出。例如: A -> C 共移动次数: 1 输入样例2: 输入n(1<=n<=5): 3 输出样例2: 在这里给出相应的输出。例如: A -> C A -> B C -> B A -> C B -> A B -> C A -> C 共移动次数: 7 编译器:PYTHON3 代码示例(正确代码): def hanoi(n, a, b, c): global step if n == 1: print(a, "->", c) step += 1 else: hanoi(n-1, a, c, b)#开始递归 print(a, "->", c) step += 1 hanoi(n-1, b, a, c) 评测结果:答案正确(15分) 测试点得分: | 测试点 | 结果 | 得分 | 耗时 | 内存 | |--------|------|------|------|------| | test1 | 答案正确 | 5 | 22.00 ms | 2868 KB | | test2 | 答案正确 | 5 | 19.00 ms | 2816 KB | | test3 | 答案正确 | 5 | 18.00 ms | 2992 KB |(含图)