A8705. Non-square Equation
编程题
普及/提高-
知识点
题目描述
Let's consider equation:
$x^{2}+s(x)·x-n=0,$ where $x,n$ are positive integers, $s(x)$ is the function, equal to the sum of digits of number $x$ in the decimal number system.
You are given an integer $n$ , find the smallest positive integer root of equation $x$ , or else determine that there are no such roots.
$x^{2}+s(x)·x-n=0,$ where $x,n$ are positive integers, $s(x)$ is the function, equal to the sum of digits of number $x$ in the decimal number system.
You are given an integer $n$ , find the smallest positive integer root of equation $x$ , or else determine that there are no such roots.
输入格式
A single line contains integer $n$ $(1<=n<=10^{18})$ — the equation parameter.
Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use cin, cout streams or the %I64d specifier.
Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use cin, cout streams or the %I64d specifier.
输出格式
Print -1, if the equation doesn't have integer positive roots. Otherwise print such smallest integer $x$ $(x>0)$ , that the equation given in the statement holds.
输入输出样例
输入 #1
2
输出 #1
1
输入 #2
110
输出 #2
10
输入 #3
4
输出 #3
-1
说明/提示
In the first test case $x=1$ is the minimum root. As $s(1)=1$ and $1^{2}+1·1-2=0$ .
In the second test case $x=10$ is the minimum root. As $s(10)=1+0=1$ and $10^{2}+1·10-110=0$ .
In the third test case the equation has no roots.
In the second test case $x=10$ is the minimum root. As $s(10)=1+0=1$ and $10^{2}+1·10-110=0$ .
In the third test case the equation has no roots.