约数的个数
题目描述
输入n个整数,依次输出每个数的约数的个数
输入描述:
输入的第一行为N,即数组的个数(N<=1000)
接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)
当N=0时输入结束。
我的代码:
import java.util.*;
import java.lang.*;
public class Main{
public void main(String[] args){
Scanner input=new Scanner(System.in);
int N=input.nextInt();
int[] a={};
int[] b={};
int count;
for(int i=0;i<N;i++){
a[i]=input.nextInt();
if(a[i]==1){
b[i]=1;
}else if(a[i]==2){
b[i]=2;
}else{
b[i]=2;
for(int j=2;j<Math.sqrt(a[i]);i++){
if(a[i]%j==0){
b[i]+=2;
}
}
if(a[i]%Math.sqrt(a[i])==0) b[i]++;
}
System.out.println(b[i]);
}
}
}