约数的个数

题目描述

  输入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]);
        }      
    }
}

posted @ 2016-08-26 17:15  小米6  阅读(181)  评论(0编辑  收藏  举报