From 9c9e04bb9869800a2610a62d2e6b63a327aa5613 Mon Sep 17 00:00:00 2001 From: Coin de Gamma Date: Tue, 27 Feb 2024 18:13:46 +0000 Subject: [PATCH] 057 begin --- 057/main.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 057/main.rs diff --git a/057/main.rs b/057/main.rs new file mode 100644 index 0000000..139f066 --- /dev/null +++ b/057/main.rs @@ -0,0 +1,33 @@ +struct D { + a: u32, + b: u32 +} + +impl D { + pub fn from(a: u32, b: u32) -> D { + D { a: a, b: b } + } + pub fn print(&self) { + println!("{}/{}", self.a, self.b); + } + pub fn add_n(&self, n: u32) -> D { + let aa = self.b; + return D::from(aa + self.a, self.b); + } + pub fn iter(&self) -> D { + let mut res = self.add_n(1); + let dd = D::from(res.b, res.a); + return dd.add_n(1); + } +} + + +fn main() { + let mut d = D::from(1, 2); + d = d.add_n(1); + d.print(); + for n in 0..100 { + d = d.iter(); + d.print(); + } +}