summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sem2/src/mpn.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/sem2/src/mpn.rs b/sem2/src/mpn.rs
index 991e813..e8a3c16 100644
--- a/sem2/src/mpn.rs
+++ b/sem2/src/mpn.rs
@@ -349,6 +349,9 @@ impl Number {
return Err("Модуль должен быть отличен от нуля".to_string());
}
let one: Number = Number::from_digits(&vec![1], self.radix).unwrap();
+ if power.is_zero() {
+ return Ok(one.clone() % modulo.clone());
+ }
let two: Number = Number::from_digits(&vec![2], self.radix).unwrap();
let mut acc = one.clone();
let mut p = power.clone();