日期:2014-05-20  浏览次数:20814 次

BigInteger的用法
如果让BigInteger取余 就是mod
然后如何在BigInteger中使用for循环呢?
试了一下,
好像不行

------解决方案--------------------
BigInteger(String val) 将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
BigInteger他是一个类,不是基本数据类型。
------解决方案--------------------
Java code

package csdn;

import java.math.BigInteger;

public class IntegerTest {
    public static void main(String[] args) {
        int a = 10;
        BigInteger b = BigInteger.valueOf(a); // int -> BigInteger
        System.out.println(b);
        
        BigInteger c = BigInteger.valueOf(100);
        
        // 1 - 100 中的质数 有的麻烦 ... 仅供参考 BigInteger是可以用for循环的
        for (BigInteger i = BigInteger.valueOf(2); i.compareTo(c) < 0; i = i.add(BigInteger.valueOf(1))) {
            boolean flag = true;
            for (BigInteger j = BigInteger.valueOf(2); j.compareTo(BigInteger.valueOf(Long.parseLong((int)Math.sqrt(Double.parseDouble(i+""))+""))) <= 0; j = j.add(BigInteger.valueOf(1))) {
                if (i.mod(j) == BigInteger.ZERO) {
                    flag = false;
                }
            }
            if (flag)
                System.out.print(i + " ");
        }
    }
}