python_OD_喊7游戏

喊7,是一个传统的聚会游戏,
N个人围成一圈,按顺时针从1 - 7编号,
编号为1的人从1开始喊数,
下一个人喊得数字是上一个人喊得数字+1
但是当将要喊出数字7的倍数或者含有7的话,
不能喊出,而是要喊过。

假定N个人都没有失误。
当喊道数字k时,
可以统计每个人喊“过"的次数。

现给定一个长度N的数组,
存储打乱的每个人喊”过"的次数,
请把它还原成正确顺序。

即数组的第i个元素存储编号i的人喊“过“的次数

输入描述

输入为1行
空格分割的喊过的次数,
注意k并不提供,
k不超过200
数字个数为N

输出描述

输出为1行
顺序正确的喊过的次数,空格分割

示例一

输入

0 1 0

输出

1 0 0

说明

只有1次过,发生在7
按顺序编号1的人遇到7,所以1 0 0
结束时的k不一定是7,也可以是 8 9
喊过都是1 0 0

示例二

输入

0 0 0 2 1

输出

0 2 0 1 0

说明

一共3次喊过
发生在7 14 17
编号为2的遇到7 17
编号为4的遇到14

str1=input()
str1=str1.split(' ')
#print(str1)
num=len(str1)
count=0
for i in str1:
    count=count+int(i)
count2=0
mn=[]
for i in range(num):
    mn.append(0)
for i in range(200):
    if  str(i).find('7')!=-1 or (i%7==0 and i!=0):
        count2=count2+1
        flag=i%num-1
        mn[flag]=mn[flag]+1
    #print(count2)
    if count2==count:
        break
for i in range(len(mn)):#避免多输出一个空格
    if i ==len(mn)-1:
        print(mn[i])
    else:
        print(mn[i],end=" ")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值