big: Refactored gcm and lcm to use a common function.

This commit is contained in:
Jeroen van Rijn
2021-08-11 20:59:52 +02:00
parent 06f5a6c785
commit 6424a5a8dd
3 changed files with 130 additions and 48 deletions
+18 -2
View File
@@ -114,8 +114,16 @@ demo :: proc() {
a, b, c, d, e, f := &Int{}, &Int{}, &Int{}, &Int{}, &Int{}, &Int{};
defer destroy(a, b, c, d, e, f);
set(a, 25);
set(b, 15);
set(a, 125);
set(b, 0);
err = gcd_lcm(c, d, a, b);
fmt.printf("gcd_lcm(");
print("a =", a, 10, false, true, false);
print(", b =", b, 10, false, true, false);
print("), gcd =", c, 10, false, true, false);
print(", lcm =", d, 10, false, true, false);
fmt.printf(" (err = %v)\n", err);
err = gcd(c, a, b);
fmt.printf("gcd(");
@@ -124,6 +132,14 @@ demo :: proc() {
print(") =", c, 10, false, true, false);
fmt.printf(" (err = %v)\n", err);
err = lcm(c, a, b);
fmt.printf("lcm(");
print("a =", a, 10, false, true, false);
print(", b =", b, 10, false, true, false);
print(") =", c, 10, false, true, false);
fmt.printf(" (err = %v)\n", err);
}
main :: proc() {