| 
					
				 | 
			
			
				@@ -0,0 +1,36 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\documentclass[10pt, a4paper]{report} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\usepackage[a4paper, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  inner=1.5cm, outer=3cm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top=3cm, bottom=3cm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bindingoffset=1cm]{geometry} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\usepackage{minted} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\usepackage{hyperref} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\begin{document} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\section{Bombelli's Algoritm} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+%% cuz python is pseudocode. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\begin{minted}[fontsize=\small]{python} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  def intsqrt(a): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    i = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while a > 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        g[i] = a % 100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        a /= 100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        i += 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    x = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    r = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for j in range(L-1, -1, -1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        r = r*100 + g[j] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        y = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for d in range(1, 10): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            yn = d*(20*x + d) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if yn < r: y = yn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        r -= y 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        x = 10*x + d-1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return (x, r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\end{minted} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Has complexity $O(\log ^2 n)$. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+\end{document} 
			 |