Long n=2021041820210418L; //作为样例数据
int temp=0; //表示数组下标
long[] factor=new long[1000]; //该数组记录所有的因子
for (long i=1;i*i<=n;i++){ //i*i<=n确保i小于根号n,减少循环次数
if (n%i==0){
factor[temp]=i;
temp++;
//在能够被n整除的前提下,若i不等于根号n(如果等于,会将i*i=n记录两次),则记录
if (i!=n/i){
factor[temp]=n/i;
temp++;
}
}
}
如何找出一个数的所有因子
最新推荐文章于 2023-06-04 19:47:02 发布