何小波


私信TA

用户名:20211105138

访问量:1994

签 名:

等  级
排  名 11099
经  验 1049
参赛次数 1
文章发表 5
年  龄 0
在职情况 学生
学  校 大连民族大学
专  业

  自我简介:

TA的其他文章

解题思路:

    获取最后一位数

    获取 除最后一位数,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 人评分

  评论区

  • «
  • »