summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2023-04-03 21:32:52 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2023-04-03 21:32:52 +0400
commit0047be212165de45e25215daa863526c1dac98fe (patch)
tree5eab666315cd629602ca8d16b39fb8b9f19b961c
parent66d688e038ee9274a932737dafeca12b9d6a3738 (diff)
Добавлена обработка степени 0
-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();