solved 28
This commit is contained in:
		
							
								
								
									
										19
									
								
								src/bin/problem_28.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/bin/problem_28.rs
									
									
									
									
									
										Normal 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}");
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user