From 30b5de92ce27b86883439ba9c9ea8b2ada5aedc7 Mon Sep 17 00:00:00 2001 From: farhansadaat <147191301+farhansadaat@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:47:58 -0500 Subject: [PATCH 1/2] Add files via upload --- students_submissions/gcd_fs388.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 students_submissions/gcd_fs388.py diff --git a/students_submissions/gcd_fs388.py b/students_submissions/gcd_fs388.py new file mode 100644 index 0000000..d4397a7 --- /dev/null +++ b/students_submissions/gcd_fs388.py @@ -0,0 +1,14 @@ +def gcd(a: int, b: int) -> int: + # Handle negative numbers + a = abs(a) + b = abs(b) + # Base case + if b == 0: + return a + # Recursive case + return gcd(b, a % b) +# Test cases +print(gcd(54, 24)) # Expected output: 6 +print(gcd(48, 18)) # Expected output: 6 +print(gcd(101, 10)) # Expected output: 1 +print(gcd(-54, 24)) # Expected output: 6 \ No newline at end of file From 9f6a4aab034b6fceeb2f5e31c2ab4e44da3c99a6 Mon Sep 17 00:00:00 2001 From: farhansadaat <147191301+farhansadaat@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:13:51 -0500 Subject: [PATCH 2/2] Implemented GCD function Added input validation for gcd function. --- students_submissions/gcd_fs388.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/students_submissions/gcd_fs388.py b/students_submissions/gcd_fs388.py index d4397a7..833b846 100644 --- a/students_submissions/gcd_fs388.py +++ b/students_submissions/gcd_fs388.py @@ -1,4 +1,9 @@ def gcd(a: int, b: int) -> int: + # Validate inputs + if not isinstance(a, int) or not isinstance(b, int): + print("Error: Both inputs must be integers.") + return None + # Handle negative numbers a = abs(a) b = abs(b) @@ -11,4 +16,4 @@ def gcd(a: int, b: int) -> int: print(gcd(54, 24)) # Expected output: 6 print(gcd(48, 18)) # Expected output: 6 print(gcd(101, 10)) # Expected output: 1 -print(gcd(-54, 24)) # Expected output: 6 \ No newline at end of file +print(gcd(-54, 24)) # Expected output: 6