Java求循环节长度

两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。
比如,11/13=6=>0.846153846153.....  其循环节为[846153] 共有6位。
下面的方法,可以求出循环节的长度。

//n是被除数,m是除数
    public static int f(int n, int m) {
        n = n % m;
        Vector v = new Vector();

        for (;;) {
            
            v.add(n);
            n *= 10;
            n = n % m;
            if (n == 0)
                return 0;
            if (v.indexOf(n) >= 0)
                return v.size() - v.indexOf(n);
        }
    }

 

posted @ 2017-04-05 20:14  卡洛小豆  阅读(2068)  评论(0编辑  收藏  举报