解题思路:
获取最后一位数
获取 除最后一位数,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 人评分
1642题解浏览:784 |
1118(求助_已解决)浏览:351 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
C二级辅导-阶乘数列 (C语言代码)浏览:583 |
永远的丰碑 (C语言代码)浏览:608 |
数列有序 (C语言代码)浏览:974 |
简单的a+b (C语言代码)浏览:531 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:646 |
汽水瓶 (C语言代码)浏览:579 |
1218题求大神帮忙看看怎么不能过浏览:759 |