solved 28

This commit is contained in:
Fabian Schmidt 2024-09-16 12:42:55 +02:00
parent ec2d00ca9b
commit 448f1d209f

19
src/bin/problem_28.rs Normal file
View File

@ -0,0 +1,19 @@
// instead of computing the spiral and summing the diagonals, only get corners
fn main() {
let dimension = 1001;
let mut sum = 0;
let squares = (dimension / 2) + 1;
let mut last_square_end = 0;
for square in 0..squares {
if square == 0 {
sum = 1;
last_square_end = 1;
continue;
}
for corner in 0..4 {
sum += last_square_end + (square * 2) * (corner + 1);
}
last_square_end = last_square_end + (square * 2) * 4;
}
println!("{sum}");
}