java中BigInteger应用
2017-10-20 22:25
260 查看
程序小白,希望和大家多交流,共同学习
项目任务:
编程找出100_0000_0000_0000_0000以内所有的质数,并将所有找出的质数保存到out.txt文件中。
说明:由于数据太大,所以一次运行可能不能找完,程序和计算机可能关闭,
下次启动时应继续接着上次的找,直到找完为止。
项目任务:
编程找出100_0000_0000_0000_0000以内所有的质数,并将所有找出的质数保存到out.txt文件中。
说明:由于数据太大,所以一次运行可能不能找完,程序和计算机可能关闭,
下次启动时应继续接着上次的找,直到找完为止。
import java.io.File; import java.io.PrintWriter; import java.io.FileWriter; import java.util.Scanner; import java.math.BigInteger; public class WriterBigPrime { public static void main(String[] args) throws Exception { BigInteger bigest = new BigInteger("1000000000000000000"); BigInteger number = null; File printPrime = new File("printPrime.txt"); if (!printPrime.exists()) { PrintWriter output = new PrintWriter(printPrime); number = new BigInteger("2"); } else { number = findFinalBigInteger(printPrime); } for (int i = 0; ; i++) { FileWriter write = new FileWriter(printPrime, true); PrintWriter output = new PrintWriter(write); if (number.compareTo(bigest) >= 0) { break; } number = number.add(new BigInteger("1")); if (isPrime(number)) { output.println(number); System.out.println(number); } output.close(); } } public static BigInteger findFinalBigInteger(File printPrime) throws Exception { Scanner input = new Scanner(printPrime); BigInteger finalNumber 4000 = new BigInteger((input.nextBigInteger()).toString()); while (input.hasNext()) { finalNumber = input.nextBigInteger(); } input.close(); return finalNumber; } public static boolean isPrime(BigInteger number) { for (int i = 2; ;i++) { //System.out.println("londing ..."); BigInteger judge = new BigInteger(new Integer(i).toString()); if (judge.multiply(judge).compareTo(number) <= 0) { if (number.remainder(judge).equals(new BigInteger("0"))) { return false; } } else return true; } } }
相关文章推荐
- Java中的BigInteger在ACM中的应用
- Java中BigInteger的基本用法
- Java BigInteger 求立方根方法的实现
- java 大整数运算以及BigInteger的用法
- java权限控制BigInteger.setBit()详解
- java使用BigInteger进行进制转换
- JAVA BigDecimal and BigInteger
- java.math.BigInteger cannot be cast to java.lang.Long
- BigInteger和BigDecimal的应用场景
- JAVA BigInteger
- Java BigInteger
- JAVA高精度加法数组和Biginteger实现
- 【Java】Java中的大数处理类BigInteger和BigDecimar浅析
- Java基础知识强化86:BigInteger类之BigInteger概述和构造方法
- JAVA大数处理(BigInteger,BigDecimal)
- Java之BigInteger
- 【java】BigDecimal、BigInteger、大数相乘、数值的整数次方、快速乘法
- JAVA - BigInteger的简易运用
- Java中正则表达式和常用的Math、Random、System、BigInteger、BigDecimal、Date/DateFormat、Calendar类的使用
- Java大数BigInteger BigDecimal