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