水仙花数,进程排序的python实现

# 1 水仙花数

如果—个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 +5^3+3^3,因此 153 就是—个水
仙花数输入描述:输入—个整数 a 与—个整数 b,用空
格分隔输出描述:输出 a 到 b 区间内的水仙花数示例:
输入 100 170 输
出 153

a = int(input())
b = int(input())
if a < 100:
    q = 100
if b > 1000:
    b = 1000
for num in range(a, b):
    low = num % 10
    mid = num // 10 % 10
    high = num // 100
    if num == low ** 3 + mid ** 3 + high ** 3:
        print(num)

# 2.输出进程

某系统中有 n 个进程,每个进程都有自己唯—的进程 id (PID),同时每个进程最多还有一个父进程, 父进程 id 为 (PPID),和一个或多个子进程。若某进程没有父进程,则 PPID 为 0。当某—进程被终止时,其子进 程也将被终止。 现给出进程 id 列表和起对应的父进程 id 列表,当要终止某—进程时,计算最终会终止哪些进程,并 将要终止的 PID 按升序排列。 输入描述: 第—行输入两个整数 n 和 k,n 表示当前系统中运行的进程数;k 表示要终止进程的 PID 第二行输入 n 个正整数,表示进程列表,每个整数表示进程的 PID 第三行输入 n 个正整数,表示进程列表中的进 程对应的父进程 PPID 列表。 示例:输 入

4 5

1 3 10 5

3 0 5 3

输出 5 10

n = int(input())
k = int(input())
kids = []
for i in range(n):
    kids.append(int(input()))
parents = []
for i in range(n):
    parents.append(int(input()))
ppairs = {}
for i in range(n):
    ppairs[parents[i]] = kids[i]
tokill = []
tmpk = k
tokill.append(tmpk)
while ppairs.get(tmpk):
    tmpk = ppairs.get(tmpk)
    tokill.append(tmpk)
sortedToKill = sorted(tokill)
print(' '.join(str(i) for i in sortedToKill))

感谢阅读,请多指教


发布于分类:

标签:

当前评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注