diff options
| author | Abigail <abigail@abigail.be> | 2021-11-01 20:16:15 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-01 20:16:15 +0100 |
| commit | dd6a1bfa4793a4da537a79ccbd70acf43141509a (patch) | |
| tree | 78f72ab09979182f34ea47c649b05f6c5664208d | |
| parent | df1b35e96d20b0fbbe887974cafb077b0b1209d9 (diff) | |
| download | perlweeklychallenge-club-dd6a1bfa4793a4da537a79ccbd70acf43141509a.tar.gz perlweeklychallenge-club-dd6a1bfa4793a4da537a79ccbd70acf43141509a.tar.bz2 perlweeklychallenge-club-dd6a1bfa4793a4da537a79ccbd70acf43141509a.zip | |
C solutions for week 137
| -rw-r--r-- | challenge-137/abigail/c/ch-1.c | 42 | ||||
| -rw-r--r-- | challenge-137/abigail/c/ch-2.c | 37 |
2 files changed, 79 insertions, 0 deletions
diff --git a/challenge-137/abigail/c/ch-1.c b/challenge-137/abigail/c/ch-1.c new file mode 100644 index 0000000000..de5f7df145 --- /dev/null +++ b/challenge-137/abigail/c/ch-1.c @@ -0,0 +1,42 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o < input-file + */ + +short start_years [] = {1600, 2000}; +short long_year_offsets [] = { + 4, 9, 15, 20, 26, + 32, 37, 43, 48, 54, + 60, 65, 71, 76, 82, + 88, 93, 99, + 105, 111, 116, 122, + 128, 133, 139, 144, 150, + 156, 161, 167, 172, 178, + 184, 189, 195, + 201, 207, 212, 218, + 224, 229, 235, 240, 246, + 252, 257, 263, 268, 274, + 280, 285, 291, 296, + 303, 308, 314, + 320, 325, 331, 336, 342, + 348, 353, 359, 364, 370, + 376, 381, 387, 392, 398 +}; + +int main (void) { + for (size_t i = 0; i < 2; i ++) { + for (size_t j = 0; j < 71; j ++) { + short year = start_years [i] + long_year_offsets [j]; + if (1900 <= year && year <= 2100) { + printf ("%d\n", year); + } + } + } +} diff --git a/challenge-137/abigail/c/ch-2.c b/challenge-137/abigail/c/ch-2.c new file mode 100644 index 0000000000..14f3efecf3 --- /dev/null +++ b/challenge-137/abigail/c/ch-2.c @@ -0,0 +1,37 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-2.o ch-2.c; ./ch-2.o < input-file + */ + +long reverse (long number) { + long reverse = 0; + while (number > 0) { + reverse *= 10; + reverse += number % 10; + number /= 10; + } + return reverse; +} + +short ly (long n) { + return n >= 10000000 ? 1 + : n == reverse (n) ? 0 + : ly (n + reverse (n)); +} + +int main (void) { + long n; + + while (scanf ("%ld", &n) == 1) { + printf ("%d\n", ly (n)); + } + + return (0); +} |
