day 9, trivial recursion
This commit is contained in:
		
							
								
								
									
										11
									
								
								d09/part1.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								d09/part1.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def extrapolate(L):
 | 
				
			||||||
 | 
					    if all(not a for a in L):
 | 
				
			||||||
 | 
					        return L+[0]
 | 
				
			||||||
 | 
					    M = [b-a for a,b in zip(L,L[1:])]
 | 
				
			||||||
 | 
					    return L+[L[-1]+extrapolate(M)[-1]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(sum(extrapolate(l)[-1] for l in L))
 | 
				
			||||||
							
								
								
									
										11
									
								
								d09/part2.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								d09/part2.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def extrapolate(L):
 | 
				
			||||||
 | 
					    if all(not a for a in L):
 | 
				
			||||||
 | 
					        return [0]+L
 | 
				
			||||||
 | 
					    M = [b-a for a,b in zip(L,L[1:])]
 | 
				
			||||||
 | 
					    return [L[0]-extrapolate(M)[0]]+L
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(sum(extrapolate(l)[0] for l in L))
 | 
				
			||||||
		Reference in New Issue
	
	Block a user