Viết hàm tạo ngẫu nhiên 1 số nguyên BigInteger lẻ nguyên dương GenerateBigInteger(): BigInteger
Viết hàm tìm ước chung lớn nhất của 2 số nguyên đầu vào, GCD(BigInteger a, BigInteger b): BigInteger
| Input | Output | |
|---|---|---|
| a | n | |
| 24 | 27 | 3 |
Tạo số BigInteger e ngẫu nhiên sao cho GCD(e, n) = 1
Viết hàm kiểm tra 1 số nguyên BigInteger đầu vào có phải là số nguyên tố không, IsPrime(BigInteger a): bool
| Input | Output |
|---|---|
| 29 | true |
| 121 | false |
Viết chương trình tạo ngẫu nhiên 1 số nguyên tố BigInteger
Viết hàm PowerMod(BigInteger a, BigInteger n, BigInteger m): BigInteger theo công thức sau:
$$a ^ n \text{mod k}$$
| Input | Output | ||
|---|---|---|---|
| a | n | m | |
| 3 | 5 | 27 | 7 |
Viết hàm ModeInverse(BigInteger e, BigInteger m) Tìm số nghịch đảo d của e thỏa điều kiện e * d ≡ 1 mod m
Viết hàm BigInteger[] ToArrayBigInteger(string msg), biến đổi chuỗi ký tự dài bất kỳ thành mảng các số BigInteger có chiều dài 1024 bits
Viết hàm string ArrayBigIntegerToString(BigInteger[]), biến đổi mảng số nguyên BigInteger thành chuỗi ký tự