⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mersenne.cal

📁 早期freebsd实现
💻 CAL
字号:
/* * Copyright (c) 1993 David I. Bell * Permission is granted to use, distribute, or modify this source, * provided that this copyright notice remains intact. * * Perform a primality test of 2^p-1, for prime p>1. */define mersenne(p){	local u, i, p_mask;	/* firewall */	if (! isint(p))		quit "p is not an integer";	/* two is a special case */	if (p == 2)		return 1;	/* if p is not prime, then 2^p-1 is not prime */	if (! ptest(p,10))		return 0;	/* calculate 2^p-1 for later mods */	p_mask = 2^p - 1;	/* lltest: u(i+1) = u(i)^2 - 2 mod 2^p-1 */	u = 4;	for (i = 2; i < p; ++i) {		u = u^2 - 2;		u = u&p_mask + u>>p;		if (u > p_mask)			u = u&p_mask + 1;	}	/* 2^p-1 is prime iff u(p) = 0 mod 2^p-1 */	return (u == p_mask);}global lib_debug;if (lib_debug >= 0) {    print "mersenne(p) defined";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -