如果x是单个数字,则整数x的超和S被定义为x,否则x的超和被定义为x的数字和的超和。给定两个数n,k找到n被连续k次时形成的数的超和。注意k只有当它至少是2位数时才乘以数
输入: 1987年4月
输出: 1
有比这更快的方法吗?
s,k=input().split()
summ=0
for ele in s:
summ+=int(ele)
s=summ*int(k)
while s>=10:
s=str(s)
summ=0
for ele in s:
summ+=int(ele)
s=summ
print(s)
答案 0 :(得分:2)
n,k=map(int,input().split())
if n<10:
print(n)
else:
if ((n*k)%9==0):
print(9)
else:
res=(n*k)%9
任何大于9的数字都会重复数字,这就是为什么你需要取9的mod,例如13将有1 + 3 = 4和13%9 = 4的总和。这将是一个特例当9的mod为零,这将是9,18,27,36等数字,可以被9整除,它们的总和将是9,因此返回9。