A problem is easy

描述When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of water plus 1 pile of dough ..” , “100 yuan buy 100 pig” .etc..


One day Teddy met a old man in his dream , in that dream the man whose name was“RuLai” gave Teddy a problem :

Given an N , can you calculate how many ways to write N as i * j + i + j (0 < i <= j) ?

Teddy found the answer when N was less than 10…but if N get bigger , he found it was too difficult for him to solve.
Well , you clever ACMers ,could you help little Teddy to solve this problem and let him have a good dream ?

 
输入
The first line contain a T(T <= 2000) . followed by T lines ,each line contain an integer N (0<=N <= 10^11).
输出
For each case, output the number of ways in one line
样例输入
2
1
3
样例输出
0
1

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner=new Scanner(System.in);
 6         int T;
 7         int number;
 8         int i;
 9         int count;
10         
11         T=scanner.nextInt();
12         while(true){
13             if(T==0)
14                 break;
15             T--;
16             
17             number=scanner.nextInt();
18             
19             count=0;
20             number++;
21             for(i=2;i*i<=number;i++){
22                 if(number%i==0)
23                     count++;
24             }
25             System.out.println(count);
26         }
27     } 
28 }

 

 
posted @ 2014-11-30 00:34  zqxLonely  阅读(183)  评论(0编辑  收藏  举报