diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2023-04-03 21:32:52 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2023-04-03 21:32:52 +0400 |
| commit | 0047be212165de45e25215daa863526c1dac98fe (patch) | |
| tree | 5eab666315cd629602ca8d16b39fb8b9f19b961c | |
| parent | 66d688e038ee9274a932737dafeca12b9d6a3738 (diff) | |
Добавлена обработка степени 0
| -rw-r--r-- | sem2/src/mpn.rs | 3 |
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(); |