首页 > 试题广场 >

最后一位

[编程题]最后一位
  • 热度指数:41 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.
例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.
牛牛现在给出一个sum,牛牛想让你求出一个正整数X经过上述过程的结果是sum.

输入描述:
输入包括正整数sum(1 ≤ sum ≤ 10^18)


输出描述:
输出一个正整数,即满足条件的X,如果没有这样的X,输出-1。
示例1

输入

564

输出

509
用例有问题 谢谢
import sys
a =int(sys.stdin.readline().strip())
sum=0
def fun(n,sum):
    sum+=n
    ifn ==0:
        return sum
    else:
        return fun(n/10,sum)
ifa <=0:
    print -1
else:
    print fun(a,sum)
发表于 2018-04-16 16:27:09 回复(2)