本文主要是介绍题目98-3:围成一圈数三报数且出列——假设有10个人围成一圈,从1开始报数,数到3的人,让他出列,下一个人重新从1开始报数,数到3的人,让他出列……以此类推,把依次出列的9个人的编号打印出来,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目转载:http://python.wzms.com/s/1/103
题目描述:
n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。
输入格式:
n m
输出格式:
出圈的编号
由于这道题太难,因此,就先从低难度的题开始做起,不设置像原题那样的条件。
98-3 围成一圈数三报数且出列
题目:假设有10个人围成一圈,从1开始报数,数到3的人,让他出列,下一个人重新从1开始报数,数到3的人,让他出列……以此类推,把依次出列的9个人的编号打印出来
请教过同学,同学给出的代码如下。代码运行结果是正确的。
其中有一个技巧:用count来记录报数的次数,数到3对应的count,一定是3的倍数,用 %取模 来找到数三的人。
代码:
number_list = list(range(1, 11))
count = 0
while len(number_list) > 1:number_list_copy = number_list[:]
这篇关于题目98-3:围成一圈数三报数且出列——假设有10个人围成一圈,从1开始报数,数到3的人,让他出列,下一个人重新从1开始报数,数到3的人,让他出列……以此类推,把依次出列的9个人的编号打印出来的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!