//质因子分解,遍历输出数组就是质因子分解的结果,但是终止标志 -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 是这个函数返回的数组,对这个数组进行遍历:
for(int i=0;i<ans.length;i++)
{
if(ans[i]==-1){
System.out.println();
break;
}
else
{
System.out.print(ans[i]+" ");
}
}