CCF201912-1 Python实现
链接: CCF CSP认证官网.
图片:
先简单说说我的思路
- 我写了一个判断函数体,将数字按个位,十位,百位的分出来单独判断有没有数字‘7’(因为题目只要求保证n<=10^2)
- 用报数‘k’来判断轮到谁报数
- ‘j’是按照题目弥补跳过数字的造成的缺少
代码(Python)
num = input()
j = 0 #跳过弥补
k = 1 #报数
a = 0 #甲
b = 0 #乙
c = 0 #丙
d = 0 #丁
def check(k):
n1 = int(k / 100) #百位
n2 = int((k % 100) /10) #十位
n3 = int(k % 10) #个位
if n1 == 7 or n2 == 7 or n3 == 7:
return True
elif k % 7 == 0:
return True
return False
while k <= int(num) + j:
if k % 4 == 1:
if check(k):
a += 1
j += 1
elif k % 4 == 2:
if check(k):
b += 1
j += 1
elif k % 4 == 3:
if check(k):
c += 1
j += 1
elif k % 4 == 0:
if check(k):
d += 1
j += 1
k += 1
print(a)
print(b)
print(c)
print(d)