From b01cdec85e4a2fb7bc55bbdd1c1c47449a7643db Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 27 Jan 2021 21:04:51 +0100 Subject: C solution for week 3, part 1 --- challenge-003/abigail/README.md | 1 + challenge-003/abigail/c/ch-1.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 challenge-003/abigail/c/ch-1.c diff --git a/challenge-003/abigail/README.md b/challenge-003/abigail/README.md index 1b9e794af2..d80777132e 100644 --- a/challenge-003/abigail/README.md +++ b/challenge-003/abigail/README.md @@ -9,6 +9,7 @@ numbers. For more information, please check this ### Solutions * [AWK](awk/ch-1.awk) +* [C](c/ch-1.c) * [Perl](perl/ch-1.pl) diff --git a/challenge-003/abigail/c/ch-1.c b/challenge-003/abigail/c/ch-1.c new file mode 100644 index 0000000000..eb6a053705 --- /dev/null +++ b/challenge-003/abigail/c/ch-1.c @@ -0,0 +1,31 @@ +# include +# include +# include + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o < input-file + */ + +int main (void) { + char * line = NULL; + size_t len = 0; + size_t strlen; + + while ((strlen = getline (&line, &len, stdin)) != -1) { + long long max = atoll (line); + for (long long base2 = 1; base2 <= max; base2 *= 2) { + for (long long base3 = base2; base3 <= max; base3 *= 3) { + for (long long base5 = base3; base5 <= max; base5 *= 5) { + printf ("%lld\n", base5); + } + } + } + } + free (line); + + return (0); +} -- cgit