q = a/b
return [b,x[1],y[1]]
-#erweiterter Euklid mit TeX ausgabe
+#erweiterter Euklid mit TeX Ausgabe
def euklid_tex(a,b):
if a < b:
tmp = a
while ae%m!=1:
ae=ae*a
e = e+1
- return e
+ return e
+
+# Legendre Symbol
+def legendre(z,n):
+ stack = [[z,n]]
+ d = +1
+ while len(stack):
+ [z,n] = stack.pop(0)
+ print z,"/",n
+ if(z>n):
+ stack.append([z%n, n])
+ continue
+
+ fac = factorD(z).keys()
+ if(len(fac)>1):
+ stack[len(stack):] = map(lambda x:[x,n],fac)
+ continue
+
+ if(z==2):
+ if(n%8==3 or n%8==5):
+ d = d*(-1)
+ continue
+ if(z==1):
+ continue
+
+ stack.append([n,z])
+ if (n%4==3 and z%4==3):
+ d = d* (-1)
+
+ return d
+
+#Legendre Symbol mit TeX Ausgabe
+def legendre_tex(z,n):
+ stack = [[z,n],[0,0]]
+ l=-1
+ d = +1
+ print "\\begin{align}"
+ while len(stack)>1:
+ [z,n] = stack.pop(0)
+
+ if([z,n]==[0,0]):
+ stack.append([0,0])
+ l = l+1
+ if(l==0):
+ print "\n&=",
+ elif(l>3):
+ print "\\\\ \n&=",
+ l = 1
+ else:
+ print "\n=",
+ if(d<0):
+ print "-",
+ continue
+ print "\\legend[L]{",z,"}{",n,"}",
+
+ if(z>n):
+ stack.append([z%n, n])
+ continue
+
+ fac = factorD(z).keys()
+ if(len(fac)>1):
+ stack[len(stack):] = map(lambda x:[x,n],fac)
+ continue
+
+ if(z==2):
+ if(n%8==3 or n%8==5):
+ d = d*(-1)
+ continue
+ if(z==1):
+ continue
+
+ stack.append([n,z])
+ if (n%4==3 and z%4==3):
+ d = d* (-1)
+
+ print
+ print "=",d
+ print "\\end{align}"
+ return d
+
+
+legendre_tex(69,97)
\ No newline at end of file
%& -shell-escape
\documentclass[a4paper,10pt,fleqn]{article}
-\usepackage{../template}
-\usepackage{python}
+
+
+\usepackage[utf8x]{inputenc}
+\usepackage{amsmath,amssymb,ulsy,amsthm}
+\usepackage{fullpage}
+%\usepackage{txfonts}
+\usepackage[ngerman]{babel}
+\usepackage{fixltx2e} %Deutschsprach Bugs
+%\usepackage[T1]{fontenc}
+%\usepackage{lmodern}
+
+\usepackage{graphicx}
+\usepackage{fancyhdr}
+% \usepackage{emaxima}
+
+
+\newcommand{\legend}[3][]{\left( \frac{#2}{#3}\right)_{#1}}
+
\begin{document}
+
+\begin{align}
+\legend{ 69 }{ 97 }
+&= \legend[L]{ 3 }{ 97 } \legend[L]{ 23 }{ 97 }
+= \legend[L]{ 97 }{ 3 } \legend[L]{ 97 }{ 23 }
+= \legend[L]{ 1 }{ 3 } \legend[L]{ 5 }{ 23 }
+= \legend[L]{ 23 }{ 5 } \\
+&= \legend[L]{ 3 }{ 5 }
+= \legend[L]{ 5 }{ 3 }
+= \legend[L]{ 2 }{ 3 }
+= -1
+\end{align}
-\begin{python}
-import lib
-euklid_tex(
-\end{python}
\end{document}