Java 寻找梅森素数

概要:

Java 寻找梅森素数

| |目录

package net.xsoftlab.baike;
public class Mesen {
	public static void main(String[] args) {
		mesen();
	}
	public static boolean prime(long n) {
		for (int i = 2; i <= Math.sqrt(n); i++) {
			if (n % i == 0)
				return false;
		}
		return true;
	}
	public static void mesen() {
		int count = 1;
		int i = 2;
		long startTime = System.currentTimeMillis();
		// long型数字的最大范围是2^63-1 只能表示出第9个梅森素数
		while (i < 100) {
			if (prime(i) == true) {
				System.out.println(i);
				if (prime((long) (Math.pow(2, i)) - 1) == true) {
					System.out.println("第" + count++ + "个梅森素数是:	2^" + i
							+ "-1=" + (long) (Math.pow(2, i) - 1));
					System.out.println("用时:"
							+ (System.currentTimeMillis() - startTime) + "ms");
				}
			}
			i++;
		}
	}
}


评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
  • 全部评论(0)
资料加载中...
已关注 , 取消