求所有的公约数(除了1,和本身)

public ArrayList<Integer> getGcd (int k)
    {
        ArrayList<Integer> list = new ArrayList<Integer>();
        for(int i = 2; i * i <= k; i++)
        {
            if(k % i ==0)
            {
                if(i!= 1 && i != k)
                    list.add(i);
                if((i * i) != k && (k / i) != 1 && (k / i) != k) //当不是平方数时添加对应的公约数 eg:18=2*9
                    list.add(k / i);
            }
        }
        return list;
    }


发布了38 篇原创文章 · 获赞 14 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_32257215/article/details/77196205