summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--labs/src/lab1.rs5
-rw-r--r--labs/src/lab3.rs17
-rw-r--r--labs/src/lab6.rs32
3 files changed, 31 insertions, 23 deletions
diff --git a/labs/src/lab1.rs b/labs/src/lab1.rs
index b442199..77d3bad 100644
--- a/labs/src/lab1.rs
+++ b/labs/src/lab1.rs
@@ -29,7 +29,9 @@ impl Default for Window {
}
impl Lab for Window {
- fn get_name(&self) -> &str { "Задача №1" }
+ fn get_name(&self) -> &str {
+ "Задача №1"
+ }
fn update(&mut self, ui: &mut egui::Ui) {
ui.horizontal(|ui| {
@@ -131,4 +133,3 @@ fn is_prime(x: u32) -> bool {
}
return true;
}
-
diff --git a/labs/src/lab3.rs b/labs/src/lab3.rs
index 7f8edf5..7fda28e 100644
--- a/labs/src/lab3.rs
+++ b/labs/src/lab3.rs
@@ -25,7 +25,9 @@ impl Default for Window {
}
impl Lab for Window {
- fn get_name(&self) -> &str { "Задача №3" }
+ fn get_name(&self) -> &str {
+ "Задача №3"
+ }
fn update(&mut self, ui: &mut egui::Ui) {
ui.horizontal(|ui| {
@@ -42,15 +44,14 @@ impl Lab for Window {
Ok(number) => {
self.factors.append(&mut factorize(&number.complete()));
self.state = State::Done;
- },
+ }
Err(_) => self.state = State::Error,
};
}
if let State::Done = self.state {
if self.factors.len() == 1 {
ui.label(format!("Число является простым"));
- }
- else {
+ } else {
ui.label(format!("Множители: {:?}", self.factors));
}
}
@@ -71,8 +72,8 @@ fn factorize(n: &Integer) -> Vec<Integer> {
let other = num.div_exact_ref(&factor).complete();
front.push(factor);
front.push(other);
- },
- None => factors.push(num)
+ }
+ None => factors.push(num),
};
}
@@ -112,8 +113,7 @@ fn lehman(n: &Integer) -> Option<Integer> {
if &gcd1 > one && &gcd1 < n {
return Some(gcd1);
- }
- else if &gcd2 > one && &gcd2 < n {
+ } else if &gcd2 > one && &gcd2 < n {
return Some(gcd2);
}
}
@@ -125,4 +125,3 @@ fn lehman(n: &Integer) -> Option<Integer> {
return None;
}
-
diff --git a/labs/src/lab6.rs b/labs/src/lab6.rs
index 9061da7..a2d64bc 100644
--- a/labs/src/lab6.rs
+++ b/labs/src/lab6.rs
@@ -1,7 +1,7 @@
use crate::lab_trait::Lab;
use eframe::egui;
-use std::collections::HashSet;
use std::collections::HashMap;
+use std::collections::HashSet;
enum State<'a> {
Clean,
@@ -31,19 +31,27 @@ impl<'a> Default for Window<'a> {
}
impl<'a> Lab for Window<'a> {
- fn get_name(&self) -> &str { "Задача №6" }
+ fn get_name(&self) -> &str {
+ "Задача №6"
+ }
fn update(&mut self, ui: &mut egui::Ui) {
ui.horizontal(|ui| {
ui.label("Порядок группы Z_n: ");
- if ui.add(egui::DragValue::new(&mut self.n).clamp_range(2..=u32::MAX)).changed() {
+ if ui
+ .add(egui::DragValue::new(&mut self.n).clamp_range(2..=u32::MAX))
+ .changed()
+ {
self.state = State::Clean;
self.subgroup.clear();
}
});
ui.horizontal(|ui| {
ui.label("Порядок q подгруппы: ");
- if ui.add(egui::DragValue::new(&mut self.q).clamp_range(1..=self.n)).changed() {
+ if ui
+ .add(egui::DragValue::new(&mut self.q).clamp_range(1..=self.n))
+ .changed()
+ {
self.state = State::Clean;
self.subgroup.clear();
}
@@ -52,8 +60,7 @@ impl<'a> Lab for Window<'a> {
self.subgroups.clear();
if self.n % self.q != 0 {
self.state = State::Error("q не является делителем n");
- }
- else {
+ } else {
self.subgroups = calculate_subgroups(self.n);
for (_, sg) in &self.subgroups {
if sg.len() == self.q as usize {
@@ -68,23 +75,24 @@ impl<'a> Lab for Window<'a> {
self.subgroups.clear();
if self.n % self.q != 0 {
self.state = State::Error("q не является делителем n");
- }
- else {
+ } else {
self.subgroups = calculate_subgroups(self.n);
self.state = State::Done2;
}
}
match self.state {
- State::Clean => {},
+ State::Clean => {}
State::Done1 => {
ui.label(format!("Вычисленная подгруппа: {:?}", self.subgroup));
- },
+ }
State::Done2 => {
for (gen, set) in self.subgroups.iter() {
ui.label(format!("Подгруппа {:?} с генератором {}", set, gen));
}
- },
- State::Error(msg) => { ui.label(msg); },
+ }
+ State::Error(msg) => {
+ ui.label(msg);
+ }
}
}
}