diff options
Diffstat (limited to '2019/day04.c')
-rw-r--r-- | 2019/day04.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/2019/day04.c b/2019/day04.c index 3c31931..45158cd 100644 --- a/2019/day04.c +++ b/2019/day04.c @@ -15,4 +15,21 @@ int main(void) { if (adj && !dec) count++; } printf("%d\n", count); + + count = 0; + for (int n = min; n <= max; ++n) { + char str[7]; + snprintf(str, sizeof(str), "%d", n); + int adj = 0, dec = 0; + for (int i = 1; i < 6; ++i) { + if ( + str[i] == str[i - 1] + && (i < 2 || str[i - 2] != str[i]) + && (i > 5 || str[i + 1] != str[i]) + ) adj = 1; + if (str[i] < str[i - 1]) dec = 1; + } + if (adj && !dec) count++; + } + printf("%d\n", count); } |