有 n 个整数,使前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,见下图,写一个函数实现该功能。 n - m
时间: 2023-04-30 13:05:41 浏览: 348
python 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数(示例)
这是一道数学题,思路如下:
假设已知n和m的值,将前面的n-m个数逐一后移m位,将后面的m个数移到最前面即可得到变换后的序列。
举例说明:
假设序列为[1,2,3,4,5,6,7,8,9,10],n=10,m=4
将前6个数逐一后移4位得到[5,6,7,8,9,10,1,2,3,4],然后将后4个数移到最前面得到[7,8,9,10,1,2,3,4,5,6],这就是变换后的序列。
写一个函数实现该功能,函数输入为原始序列和m值,输出为变换后的序列,代码如下:
```
def shift_list(lst, m):
n = len(lst)
m %= n
return lst[m:] + lst[:m]
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
m = 4
result = shift_list(lst, m)
print(result)
```
输出为:[5, 6, 7, 8, 9, 10, 1, 2, 3, 4]
阅读全文