解题思路:
获取最后一位数
获取 除最后一位数,0 - n-1
做减法操作:
减数 长度 小于 三位:
大于三位:
减数后两位够减 被减数
不够减
除法:
注意事项:
减法处 返回值为正数,因为后面是除数 求余 不受影响
参考代码:
def sub(s, a):
# 做完减法之后,若为负数,直接变为正数,因为求余,负数也不影响
a = (int(a) * 5)
# s为两位
if len(s) == 1 or len(s) == 2:
s = int(s)
s -= a
if s < 0: s = s * (-1)
return str(s)
# s 至少为3位
else:
# s后两个位够减a
m2=int(s[-2:])
if m2 >= a:
b = int(s[-2:])
m = str(b - a)
while len(m) < 2: m = '0' + m
s=s[:-2]
# s后两个位够不减a
else:
# 直接获取s三位操作
b = int(s[-3:])
m = str(b - a)
while len(m) < 3: m = '0' + m
s=s[:-3]
return s+m
def div(s):
a=17
#l :表示 与a 进行计算的 数字
l=''
b='' #这轮的余数
i=1
if(int(s)<17):return 1 #
b=s[0]
while i<len(s) :
l=b+s[i]
b=str(int(l)%17)
i+=1
return int(b)
while True:
try:
s = input()
if len(s) == 0:
break
a = s[-1:]
b = s[:-1]
z = sub(b, a)
if div(z) == 0:
print(1)
else:
print(0)
except:
break
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复