java 质因子分解

//质因子分解,遍历输出数组就是质因子分解的结果,但是终止标志 -1 不输出
    public static long[]  divide(long n)  
    {  
        long ans[] = new long[(int)(Math.sqrt(n)+2.5)];
        int i=2;  
        int k=0;  
        while(i*i<=n)  
        {  
            if(n%i==0)  
            {  
                n/=i;  
                ans[k++]=i;  
                i=1;  
            }  
            i++;  
        }  
        ans[k++]=n;  
        ans[k++]=-1;// -1作为结束标志
        return ans;
    } 

假设ans 是这个函数返回的数组,对这个数组进行遍历:

forint i=0;i<ans.length;i++)
{
    if(ans[i]==-1){
    System.out.println();
    break;
    }
    else
    {
    System.out.print(ans[i]+" ");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35821988/article/details/78886106