1个不稳定版本
0.1.2 | 2023年4月11日 |
---|---|
0.1.1 |
|
#1110 in 数学
3MB
9K SLoC
包含 (WOFF字体, 330KB) lato-normal-italic.woff, (WOFF字体, 325KB) _static/css/fonts/lato-bold-italic.woff, (WOFF字体, 310KB) _static/css/fonts/lato-bold.woff, (WOFF字体, 310KB) _static/css/fonts/lato-normal.woff, (WOFF字体, 195KB) _static/css/fonts/lato-bold-italic.woff2, (WOFF字体, 185KB) _static/css/fonts/lato-bold.woff2 等8个更多文件.
ImtiazGermain
ImtiazGermain是一个面向数论库,实现了Germain素数的编辑版本,该版本发表在《一位年轻数学家》一书中。以下是ImtiazGermain素数的算法
Input number n --> Calculate p = (n - 1) / 2 --> Check if n, p, and 2p + 1 are prime ------------------>
| | |
| No |
| | |
| V |
Output "n is not an Imtiaz Germain prime" <----- Stop |
| |
Yes |
| |
V |
Calculate m = 2p + 1 --> Check if m is composite --> Calculate q = 2m + 1 --> Check if q is prime -No-->|
| | |
| No Yes
| | |
| V V
Output "n is not an Imtiaz Germain prime" <----- Stop Output "n is an Imtiaz Germain prime"
功能
- Germain素数检测
- Imtiaz-Germain素数检测
安装
要在Rust项目中使用ImtiazGermain,请将以下内容添加到您的Cargo.toml
文件中
[dependencies]
ImtiazGermain = "0.1.1"
或者,您也可以使用Python
pip install imtiazgermain
用法
要在Rust代码中使用ImtiazGermain,导入必要的模块
use ImtiazGermain::primecheck::{isgermainprime, isimtiazgermainprime};
然后,调用所需的加密或实用函数。例如,使用凯撒密码加密消息
use std::io;
use ImtiazGermain::primecheck::{isgermainprime, isimtiazgermainprime};
fn main() {
println!("Enter a number:");
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n = input.trim().parse::<u64>().unwrap();
if primecheck::isimtiazgermainprime(n) {
println!("{} is an Imtiaz Germain prime", n);
} else {
println!("{} is not an Imtiaz Germain prime", n);
}
}
您可以使用Python如下
import ImtiazGermain.primecheck as pm
pc = pm.primecheck()
print(pc.isgermainprime(2)) # True
print(pc.isimtiazgermainprime(3)) # True
print(pc.isgermainprime(5)) #True
print(pc.isgermainprime(7)) # True