From 512563e627300657d786f6bc5076dbd7692f28da Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 19:51:12 +0000 Subject: [PATCH] [Sync Iteration] c/collatz-conjecture/1 --- .../c/collatz-conjecture/1/collatz_conjecture.c | 13 +++++++++++++ .../c/collatz-conjecture/1/collatz_conjecture.h | 8 ++++++++ 2 files changed, 21 insertions(+) create mode 100644 solutions/c/collatz-conjecture/1/collatz_conjecture.c create mode 100644 solutions/c/collatz-conjecture/1/collatz_conjecture.h diff --git a/solutions/c/collatz-conjecture/1/collatz_conjecture.c b/solutions/c/collatz-conjecture/1/collatz_conjecture.c new file mode 100644 index 0000000..611a557 --- /dev/null +++ b/solutions/c/collatz-conjecture/1/collatz_conjecture.c @@ -0,0 +1,13 @@ +#include "collatz_conjecture.h" + +int steps(int start) +{ + if (start <= 0) + return ERROR_VALUE; + if (start == 1) + return (0); + if (start % 2 == 0) + return (steps(start / 2) + 1); + else + return (steps(start * 3 + 1) + 1); +} \ No newline at end of file diff --git a/solutions/c/collatz-conjecture/1/collatz_conjecture.h b/solutions/c/collatz-conjecture/1/collatz_conjecture.h new file mode 100644 index 0000000..66b3e4b --- /dev/null +++ b/solutions/c/collatz-conjecture/1/collatz_conjecture.h @@ -0,0 +1,8 @@ +#ifndef COLLATZ_CONJECTURE_H +#define COLLATZ_CONJECTURE_H + +#define ERROR_VALUE -1 + +int steps(int start); + +#endif