问题描述
问题分析
这个题目是四个人循环报数的报数,然后碰到含有7或者7的倍数就跳过,也没有什么难的地方,稍微需要注意的地方就是n的范围,只要不必666小,就可以了。
代码
# 数
n = int(input())
# 四个人的记录,使用二维数组方便
num = [[],[],[],[]]
# 封装一个函数
# 用于判断是不是7的倍数
def Zz(x):
a=x/7
o=str(a).split('.')[1]
if o == str(0):
return True
else:
return False
# 用于判断是否含有7
def Qq(x):
i=x
i=str(i)
try:
i.index('7')
return True
except:
return False
# 用于记录数了几个数
mm=0
for i in range(1,10000):
# 如果是7的倍数或者含有7,就在num里对应的人加一个pass
# 表示跳过,以便最后统计个数
if Zz(i) == True or Qq(i) ==True:
num[(i-1)%4].append("pass")
# 如果没有,mm+1
else:
# 这题是在某个晚上写出来,还需努力
# num[(i-1)%4].append(i)
mm+=1
# 游戏结束
if mm == n:
break
# 输出跳过了几次
for i in num:
print(i.count('pass'))
最后得分
试题名称 | 提交时间 | 代码长度 | 编程语言 | 评测结果 | 得分 | 时间使用 | 空间使用 |
---|---|---|---|---|---|---|---|
报数 | 05-26 21:17 | 502B | PYTHON | 正确 | 100 | 46ms | 8.761MB |