Problem Description
Michael要给自己的一本已经完成的书编上页码。众所周知,第一页页码是1,第二页页码是2,第三页页码是 3,……。而Michael敲一次键盘就能打出一个数字,例如打出1需要敲一次键盘,打出10需要敲两次键盘。页码编完之后,Michael记得自己总共敲了 n次键盘,问Michael的书有多少页。
Input
输入的第一行是整数T(0 < T <= 100),表示测试数据的组数。每一组测试数据只有一行,只有一个整数n(1 <= n <= 1000),表示Michael敲了n次键盘。该行没有其它多余的符号。
Output
如果有解,则输出书的页数。如果无解,输出-1。
附录——代码框架:
附录——代码框架:
![](http://img13.poco.cn/mypoco/myphoto/20121125/14/5565976020121125141828010.jpg)
Sample Input
3 4 10 11
Sample Output
4 -1 10
实现代码:
import java.util.Scanner; public class Problem1002 { public static void main(String[] args) { int T,n; Scanner scanner = new Scanner(System.in); T = scanner.nextInt(); while(T!=0) { T--; n = scanner.nextInt(); int m; if(n<10) { m=n; System.out.println(m); } else if(n>=10&&n%2==0) System.out.println("-1"); else if(n>10) { m=9+(n-9)/2; System.out.println(m); } } } }