summaryrefslogtreecommitdiff
path: root/rushs/tinyprintf/greatest_divisor
diff options
context:
space:
mode:
Diffstat (limited to 'rushs/tinyprintf/greatest_divisor')
-rw-r--r--rushs/tinyprintf/greatest_divisor/greatest_divisor.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/rushs/tinyprintf/greatest_divisor/greatest_divisor.c b/rushs/tinyprintf/greatest_divisor/greatest_divisor.c
new file mode 100644
index 0000000..4c8efef
--- /dev/null
+++ b/rushs/tinyprintf/greatest_divisor/greatest_divisor.c
@@ -0,0 +1,15 @@
+unsigned int greatest_divisor(unsigned int n)
+{
+ if (n == 0 || n == 1)
+ {
+ return 1;
+ }
+
+ int i;
+ for (i = n / 2; i > 0 && n % i; i--)
+ {
+ continue;
+ }
+
+ return i;
+}