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 }