Solve day 2 part 1

This commit is contained in:
Reimar 2025-12-17 09:31:46 +01:00
parent f3ae7216c3
commit aa911a88fb

37
day_2.cpp Normal file
View File

@ -0,0 +1,37 @@
#include <fstream>
#include <iostream>
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;
}