9,805
社区成员




小明选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,小明会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum. 例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564. 小明现在给出一个sum,小明想让你求出一个正整数X经过上述过程的结果是sum.
输入描述:
输入包括正整数sum(1 ≤ sum ≤ 10^18)
输出描述:
输出一个正整数,即满足条件的X,如果没有这样的X,输出-1。
输入样例:
564
输出样例:
509
# 请关闭中文输入法,用英文的字母和标点符号。
# 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
# 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
# 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
# 模版代码提供基本的输入输出框架,可按个人代码习惯修改
class Solution:
def __init__(self) -> None:
pass
def solution(self, sum1):
result = None
# TODO: 请在此编写代码
if 1 <= sum1 <= 10^18:
pass
else:
return
if 0 < sum1 < 10:
result = -1
else:
sum2 = 10
while True:
start_number = str(sum2)
changdu = len(start_number)
liebiao = []
liebiao.append(sum2)
for i in range(0,changdu-1):
number1 = start_number[:-1]
liebiao.append(int(number1))
start_number = number1
result = sum(liebiao)
if result == sum1:
result = sum2
break
else:
sum2 += 1
continue
return result
if __name__ == "__main__":
sum1 = int(input().strip())
sol = Solution()
result = sol.solution(sum1)
print(result)