summaryrefslogtreecommitdiff
path: root/math/millerRabin.cpp
diff options
context:
space:
mode:
authorPaul Jungeblut <paul.jungeblut@gmail.com>2016-10-15 22:48:49 +0200
committerPaul Jungeblut <paul.jungeblut@gmail.com>2016-10-15 22:48:49 +0200
commit53c8e56d8b0ee3b4374ab90630673b971ddf2710 (patch)
treed82399f0bc3dfff6c6ebe11fba55282b058780aa /math/millerRabin.cpp
parenta7e23f85ac2c02a4656277348f5546ebd3e6b303 (diff)
Fast factorization method and Euler's phi function
Diffstat (limited to 'math/millerRabin.cpp')
-rw-r--r--math/millerRabin.cpp17
1 files changed, 0 insertions, 17 deletions
diff --git a/math/millerRabin.cpp b/math/millerRabin.cpp
deleted file mode 100644
index fd856d1..0000000
--- a/math/millerRabin.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Laufzeit: O(log n). Exakt, nicht propabilistisch.
-bool isPrime(ll n) {
- if(n == 2) return true;
- if(n < 2 || n % 2 == 0) return false;
- ll d = n - 1, j = 0;
- while(d % 2 == 0) d >>= 1, j++;
- for(int a = 2; a <= min((ll)37, n - 1); a++) {
- ll v = powMod(a, d, n); // Implementierung von oben.
- if(v == 1 || v == n - 1) continue;
- for(int i = 1; i <= j; i++) {
- v = multMod(v, v, n); // Implementierung von oben.
- if(v == n - 1 || v <= 1) break;
- }
- if(v != n - 1) return false;
- }
- return true;
-}