目次へ

解答例 - 実習課題3 - 7.数値処理/数値の表現

(実習課題3)

引数で指定した桁数の整数で、とにかく大きい素数(素数である確率が高い数)を探し出すコンソールプログラムを作成しなさい。

解答例

package com.techscore.utility.chapter7.exercise3;

import java.math.BigInteger;

/**
 * PrimeNumberExample.java
 * TECHSCORE Javaユーティリティ7章 実習課題3
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
public class PrimeNumberExample {

    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("引数で桁数を指定してください。");
			System.exit(0);
        }
        StringBuffer buf = new StringBuffer();
        for (int i = -1; i < new Integer(args[0]).intValue(); i++) {
            buf.append("9");
        }

        // 1ずつ減算するために利用する。
        BigInteger decreasing = new BigInteger("1");
        // 指定された桁数の最大の数値を表す。
        BigInteger biginteger = new BigInteger(buf.toString());

        // 素数を探す
        while (!biginteger.isProbablePrime(1)) {
            // 1を引く
            biginteger = biginteger.subtract(decreasing);
        }
        System.out.println(biginteger);
    }

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp