From aa911a88fbc47febffe88cde8087843869e9b467 Mon Sep 17 00:00:00 2001 From: Reimar Date: Wed, 17 Dec 2025 09:31:46 +0100 Subject: [PATCH] Solve day 2 part 1 --- day_2.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 day_2.cpp diff --git a/day_2.cpp b/day_2.cpp new file mode 100644 index 0000000..f332010 --- /dev/null +++ b/day_2.cpp @@ -0,0 +1,37 @@ +#include +#include + +bool is_invalid(long int id) +{ + std::string id_str = std::to_string(id); + for (int i = 0; i < id_str.size(); i++) { + if (id_str.substr(0, i) + id_str.substr(0, i) == id_str) { + return true; + } + } + return false; +} + +int main() +{ + std::ifstream file("input.txt"); + + long int invalid_sum = 0; + + std::string range; + while (getline(file, range, ',')) { + long int range_start, range_end; + sscanf(range.c_str(), "%ld-%ld", &range_start, &range_end); + + std::cout << "Range " << range_start << "-" << range_end << ":"; + for (long int i = range_start; i <= range_end; i++) { + if (is_invalid(i)) { + std::cout << " " << i; + invalid_sum += i; + } + } + std::cout << std::endl; + } + + std::cout << "Sum of invalid IDs: " << invalid_sum << std::endl; +}