栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

研发工程师-编程题(python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

研发工程师-编程题(python)

1、丑数

题目描述:给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。

丑数 就是只包含质因数 2、3 和/或 5 的正整数。(1通常被视为丑数)

输入描述:整数n

输出描述:true或false

def func(n):
    if n == 0:
        return 'false'
    if n == 1:
        return 'true'
    if n % 2 == 0:
        return func(n / 2)
    if n % 3 == 0:
        return func(n / 3)
    if n % 5 == 0:
        return func(n / 5)
    return 'false'
n = int(input())
print(func(n))

 2、皇帝的奏章

题目描述:某朝皇帝有大臣n名(1<=n<=1000),分别编号大臣1~n。某日皇帝身体抱恙,奏章堆积如山无法及时一一批阅,便命身旁內侍帮他把奏章按指定顺序排序后再阅。于是皇帝亲自挑选了几个值得信赖的重臣并排好序,要求把他们的奏章按排好的顺序放到前面,其他的按照编号升序排列即可。现在要求你写一个程序来帮皇上解决这个问题,即已知奏章总数和顺序、钦点重臣的排列顺序,求得皇帝查阅奏章的顺序。

输入描述:

第一行输入两个整数p(1<=p<=5000)和q,其中p表示堆积奏章的总数、q表示皇帝钦点重臣数

第二行输入p个数,表示所有按呈递顺序递上来的奏章来自于哪个大臣(大臣编号)

第三行输入q个数,表示皇帝钦点并排好序的重臣编号

输出描述:输出奏章按指定顺序排好序后,皇帝按大臣编号批阅的顺序

a,b=map(int,input().split())
lst1=list(map(int,input().split()))
lst2=list(map(int,input().split()))
output=[]
outstr=''
bool=True
for i in range(0,len(lst1)):
    bool=True
    for j in range(0,len(lst2)):
        if lst1[i]==lst2[j]:
            output.append([lst1[i],j])
            bool=False
            break
    if bool:
        output.append([lst1[i],1000+lst1[i]])
output.sort(key=lambda x:x[1],reverse=False)
for i in output:
    outstr=outstr+' ' +str(i[0])
print(outstr.strip())

3、尼姆博弈

题目描述:你和你的朋友,两个人一起玩 Nim 游戏:
桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。
每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。

输入描述:整数n

输出描述:true或false

#尼姆博弈
'''
题目描述
你和你的朋友,两个人一起玩 Nim 游戏:
桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。
每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。
输入描述:整数n
输出描述:true或false
'''
n = int(input())
if n%4 == 0:
    print('false')
else:
    print('true')

 

4、员工排序

题目描述:某公司要针对员工情况统一调薪,现有一个员工列表,包含姓名、职级、工作年限、工资信息。现要求将该列表按以下规则重新排序:

1、职级高的排在前面

2、若职级相同,按工资少的排前面

3、若工资相同,工作年限长的排前面

输入描述:第一行输入一个整数n,表示员工列表中员工的人数

接下来的n行,分别输入员工的姓名、职级、工作年限和工资信息,各项信息用空格分隔

输出描述:输出按要求重新排列的员工列表,每名员工信息(姓名、职级、工作年限和工资)占一行

n = int(input())
emps = [[emp[0],int(emp[1]),int(emp[2]),float(emp[3])] for emp in
        (input().strip().split(' ') for i in range(n))]
emps=sorted(emps,key=lambda x:(x[1],-x[3],x[2]), reverse=True)
for emp in emps:
    print('{} {} {} {:.2f}'.format(*emp))

 

4、员工排序

题目描述:

输入描述:

输出描述:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号