A Python library for checking if a number is a Imtiaz-Germain and Germain prime or not
Project description
ImtiazGermain
ImtiazGermain is a library intended for number theory, implementing an edited version of Germain primes, which got published in the book A Young Mathematician. Here is a algorithm for ImtiazGermain primes:
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"
Features
- Germain Primes detection
- Imtiaz-Germain primes detection
Installation
To use ImtiazGermain in your Rust project, add the following to your Cargo.toml
file:
[dependencies]
ImtiazGermain = "0.1.1"
Alternatively, you can go on python as:
pip install imtiazgermain
Usage
To use ImtiazGermain in your Rust code, import the necessary modules:
use ImtiazGermain::primecheck::{isgermainprime, isimtiazgermainprime};
Then, call the desired encryption or utility function. For example, to encrypt a message using the Caesar cipher:
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);
}
}
You can use python as follows:
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for ImtiazGermain-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ce19f80fec992766dd4f2d8f62cbe89bd20abbb20f6d6c17fe780f2a8787e1c |
|
MD5 | 5e9669e7491331d0a0020ea0c28a3d37 |
|
BLAKE2b-256 | 526a33d417683c137497b5368df651a216806042fda9456a13220d9547c45e24 |