{VERSION 7 1 "Linux" "7.1" } {USTYLETAB {PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "MS Serif" 1 12 0 0 0 1 1 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordered List 5" -1 200 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 144 2 0 2 2 -1 1 }{PSTYLE "Ordered List 1 " -1 201 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 } 1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 12 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Left Justified Maple Output" -1 12 1 {CSTYLE "" -1 -1 "" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Help" -1 10 1 {CSTYLE "" -1 -1 "" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Diagnostic" -1 9 1 {CSTYLE "" -1 -1 "Courier" 1 12 40 120 40 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "MS Serif" 1 16 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordered List 3" -1 202 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 72 2 0 2 2 -1 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Norm al" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 } 1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Dash Item" -1 16 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "MS Serif" 1 14 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Orde red List 4" -1 203 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 108 2 0 2 2 -1 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Line Printed Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 12 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Wa rning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 12 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Fixed Width" -1 17 1 {CSTYLE "" -1 -1 "" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "He ading 1" -1 3 1 {CSTYLE "" -1 -1 "MS Serif" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Ordered List 2" -1 204 1 {CSTYLE "" -1 -1 "Times " 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 36 2 0 2 2 -1 1 } {CSTYLE "Equation Label" -1 200 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Text" -1 201 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Page Number" -1 33 "Times" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Times" 1 12 0 0 255 1 2 2 2 2 2 1 0 0 0 1 }{CSTYLE "Dictionary Hyperlink" -1 45 "MS Serif" 1 12 147 0 15 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 1 12 0 0 0 1 2 2 2 2 1 2 0 0 0 1 }{CSTYLE "Maple Input Placeholder" -1 202 "Courier" 1 12 200 0 200 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "MS Serif" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{PSTYLE "" -1 205 1 {CSTYLE "" -1 -1 "Times" 1 12 255 0 0 1 2 1 2 2 1 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT 203 66 "Sz\303\241m\303\255t\303 \263g\303\251pes sz\303\241melm\303\251let" }}}{EXCHG {PARA 19 "" 0 "" {TEXT 204 18 "J\303\241rai Antal" }}}{EXCHG {PARA 19 "" 0 "" {TEXT 204 68 "Ezek a programok csak szeml\303\251ltet\303\251sre szolg\303\2 41lnak" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 59 "1. A pr\303\255mek el oszl\303\241sa, szit\303\241l\303\241s" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 63 "2. Egyszer\305\261 faktoriz\303\241l\303\241si m\303\263 dszerek" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 64 "3. Egyszer\305\261 p r\303\255mtesztel\303\251si m\303\263dszerek" }}{EXCHG {PARA 0 "" 0 "" {XPPEDIT 2 0 "" "%#%?G" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 205 18 "4. \+ Lucas-sorozatok" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 25 "restart; with(numtheory);" }}{PARA 11 "" 1 "" {XPPMATH 20 "7QI&GIgcdG6\"I)bigomegaGF$I&cfracGF$I)cfracpolGF$I+cyclot omicGF$I)divisorsGF$I)factorEQGF$I*factorsetGF$I'fermatGF$I)imagunitGF $I&indexGF$I/integral_basisGF$I)invcfracGF$I'invphiGF$I*issqrfreeGF$I' jacobiGF$I*kroneckerGF$I'lambdaGF$I)legendreGF$I)mcombineGF$I)mersenne GF$I(migcdexGF$I*minkowskiGF$I(mipolysGF$I%mlogGF$I'mobiusGF$I&mrootGF $I&msqrtGF$I)nearestpGF$I*nthconverGF$I)nthdenomGF$I)nthnumerGF$I'nthp owGF$I&orderG%*protectedGI)pdexpandGF$I$phiGF$I#piGF$I*pprimrootGF$I)p rimrootGF$I(quadresGF$I+rootsunityGF$I*safeprimeGF$I&sigmaGF$I*sq2fact orGF$I(sum2sqrGF$I$tauGF$I%thueGF$" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 10 "4.1. Defin" }{TEXT 206 8 "\303\255" }{TEXT 206 2 "ci" }{TEXT 206 8 "\303\263" }{TEXT 206 1 "." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "a:=-3; b:=2; for n to 10 do \+ [(a^n-b^n)/(a-b),a^n+b^n]; od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "!\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"\"!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$!\"\"\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"(!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$ !#8\"#(*" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"#b!$6#" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$!$L\"\"$$z" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"$j%! %f?" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$!%h7\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$!&0;\"\" &t+'" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 13 "4.2. Megjegyz" }{TEXT 206 8 "\303\251" }{TEXT 206 2 "s." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 6 "4.3. P" }{TEXT 206 8 "\303\251" }{TEXT 206 4 "lda." }}{PARA 0 " " 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "a:=( 1+sqrt(5))/2; b:=(1-sqrt(5))/2; for n to 10 do [expand((a^n-b^n)/(a-b) ),expand(a^n+b^n)]; od;" }}{PARA 11 "" 1 "" {XPPMATH 20 ",&#\"\"\"\"\" #F$*&F#F$)\"\"&F#F$F$" }}{PARA 11 "" 1 "" {XPPMATH 20 ",&#\"\"\"\"\"#F $*&F#F$)\"\"&F#F$!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"\"F#" }} {PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"\"\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"$\"\" (" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\"&\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"\")\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"#8\"#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"#@\"#Z" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"#M\"#w" }}{PARA 11 "" 1 "" {XPPMATH 20 "7$\"#b\"$B\"" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 12 "4.4. Rekurzi" }{TEXT 206 8 "\303\263" }{TEXT 206 3 " sz" }{TEXT 206 8 "\303\241" }{TEXT 206 3 "mo l" }{TEXT 206 8 "\303\241" }{TEXT 206 5 "shoz." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 53 "# This procedure calculate the Lucas sequence terms\n " }{MPLTEXT 1 0 60 "# [U[n],V[n],U[n+1],V[n+1]]. If the parameter N al so given\n" }{MPLTEXT 1 0 66 "# then the calculations are done mod N. \+ Here U[n]=a^n-b^n)/(a-b)\n" }{MPLTEXT 1 0 60 "# and V[n]=a^n+b^n, wher e a,b are the roots of x^2-Px+Q=0.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 40 "lucasUV:=proc(n,P,Q,N) local L,B,i,Qk;\n" }{MPLTEXT 1 0 23 "B:=convert(n,base,2);\n" }{MPLTEXT 1 0 8 "Qk:=1;\n" }{MPLTEXT 1 0 17 "if nargs=3 then\n" }{MPLTEXT 1 0 17 " L:=[0,2,1,P] ;\n" }{MPLTEXT 1 0 36 " for i from nops(B) to 1 by -1 do\n" }{MPLTEXT 1 0 20 " if B[i]=0 then\n" }{MPLTEXT 1 0 63 " L:=[L[1]*L[2],L [2]^2-2*Qk,L[3]*L[2]-Qk,L[4]*L[2]-P*Qk];\n" }{MPLTEXT 1 0 17 " Qk :=Qk^2;\n" }{MPLTEXT 1 0 10 " else\n" }{MPLTEXT 1 0 65 " L:=[L [3]*L[2]-Qk,L[4]*L[2]-P*Qk,L[3]*L[4],L[4]^2-2*Q*Qk];\n" }{MPLTEXT 1 0 19 " Qk:=Qk^2*Q;\n" }{MPLTEXT 1 0 9 " fi;\n" }{MPLTEXT 1 0 39 " od; \n" }{MPLTEXT 1 0 6 "else\n" } {MPLTEXT 1 0 29 " L:=[0,2 mod N,1,P mod N];\n" }{MPLTEXT 1 0 36 " fo r i from nops(B) to 1 by -1 do\n" }{MPLTEXT 1 0 20 " if B[i]=0 then \n" }{MPLTEXT 1 0 49 " L:=[L[1]*L[2] mod N,L[2]&^2-2*Qk mod N, \\\n" }{MPLTEXT 1 0 49 " L[3]*L[2]-Qk mod N,L[4]*L[2]-P*Qk mod N] ;\n" }{MPLTEXT 1 0 24 " Qk:=Qk&^2 mod N;\n" }{MPLTEXT 1 0 10 " \+ else\n" }{MPLTEXT 1 0 54 " L:=[L[3]*L[2]-Qk mod N,L[4]*L[2]-P*Qk mod N,\\\n" }{MPLTEXT 1 0 46 " L[3]*L[4] mod N,L[4]&^2-2*Q*Qk mo d N];\n" }{MPLTEXT 1 0 26 " Qk:=Qk&^2*Q mod N;\n" }{MPLTEXT 1 0 9 " fi;\n" }{MPLTEXT 1 0 7 " od;\n" }{MPLTEXT 1 0 10 "fi; L end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6&I\"nG6\"I\"PGF%I\"QGF%I\"NGF%6&I\" LGF%I\"BGF%I\"iGF%I#QkGF%F%F%C&>F+-I(convertG%*protectedG6%F$I%baseGF% \"\"#>F-\"\"\"@%/%&nargsG\"\"$C$>F*7&\"\"!F5F7F&?(F,-I%nopsGF26#F+!\" \"F7I%trueGF2@%/&F+6#F,F?C$>F*7&*&&F*6#F7F7&F*6#F5F7,&*$)FPF5F7F7*&F5F 7F-F7FD,&*&&F*6#F;F7FPF7F7F-FD,&*&&F*6#\"\"%F7FPF7F7*&F&F7F-F7FD>F-*$) F-F5F7C$>F*7&FVFZ*&FXF7FfnF7,&*$)FfnF5F7F7*(F5F7F'F7F-F7FD>F-*&F\\oF7F 'F7C$>F*7&F?-I$modGF%6$F5F(F7-F[p6$F&F(?(F,FAFDF7FE@%FGC$>F*7&-F[p6$FM F(-F[p6$,&-I#&^GF%6$FPF5F7FUFDF(-F[p6$FVF(-F[p6$FZF(>F--F[p6$-Fjp6$F-F 5F(C$>F*7&F\\qF^q-F[p6$F`oF(-F[p6$,&-Fjp6$FfnF5F7FdoFDF(>F--F[p6$*&Fcq F7F'F7F(F*F%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 53 "# This procedure calculate the Lucas sequence terms\n " }{MPLTEXT 1 0 48 "# [V[n],V[n+1]]. If the parameter N also given\n" }{MPLTEXT 1 0 60 "# then the calculations are done mod N. Here V[n]=a^ n+b^n,\n" }{MPLTEXT 1 0 42 "# where a,b are the roots of x^2-Px+Q=0.\n " }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 3 " \n" }{MPLTEXT 1 0 39 "lucasV :=proc(n,P,Q,N) local L,B,i,Qk;\n" }{MPLTEXT 1 0 23 "B:=convert(n,base ,2);\n" }{MPLTEXT 1 0 8 "Qk:=1;\n" }{MPLTEXT 1 0 27 "if nargs=3 then L :=[2,P];\n" }{MPLTEXT 1 0 36 " for i from nops(B) to 1 by -1 do\n" } {MPLTEXT 1 0 20 " if B[i]=0 then\n" }{MPLTEXT 1 0 50 " L:=[L[1 ]^2-2*Qk,L[2]*L[1]-P*Qk]; Qk:=Qk^2;\n" }{MPLTEXT 1 0 10 " else\n" } {MPLTEXT 1 0 54 " L:=[L[2]*L[1]-P*Qk,L[2]^2-2*Q*Qk]; Qk:=Qk^2*Q; \n" }{MPLTEXT 1 0 9 " fi;\n" }{MPLTEXT 1 0 39 " od; \+ \n" }{MPLTEXT 1 0 28 "else L:=[2 mod N,P mod N];\n" } {MPLTEXT 1 0 36 " for i from nops(B) to 1 by -1 do\n" }{MPLTEXT 1 0 20 " if B[i]=0 then\n" }{MPLTEXT 1 0 70 " L:=[L[1]&^2-2*Qk mod N,L[2]*L[1]-P*Qk mod N]; Qk:=Qk&^2 mod N;\n" }{MPLTEXT 1 0 10 " el se\n" }{MPLTEXT 1 0 74 " L:=[L[2]*L[1]-P*Qk mod N,L[2]&^2-2*Q*Qk \+ mod N]; Qk:=Qk&^2*Q mod N;\n" }{MPLTEXT 1 0 9 " fi;\n" }{MPLTEXT 1 0 7 " od;\n" }{MPLTEXT 1 0 10 "fi; L end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6&I\"nG6\"I\"PGF%I\"QGF%I\"NGF%6&I\"LGF%I\"BGF%I\"iGF%I #QkGF%F%F%C&>F+-I(convertG%*protectedG6%F$I%baseGF%\"\"#>F-\"\"\"@%/%& nargsG\"\"$C$>F*7$F5F&?(F,-I%nopsGF26#F+!\"\"F7I%trueGF2@%/&F+6#F,\"\" !C$>F*7$,&*$)&F*6#F7F5F7F7*&F5F7F-F7FC,&*&FPF7&F*6#F5F7F7*&F&F7F-F7FC> F-*$)F-F5F7C$>F*7$FS,&*$)FUF5F7F7*(F5F7F'F7F-F7FC>F-*&FZF7F'F7C$>F*7$- I$modGF%6$F5F(-Fbo6$F&F(?(F,F@FCF7FD@%FFC$>F*7$-Fbo6$,&-I#&^GF%6$FPF5F 7FRFCF(-Fbo6$FSF(>F--Fbo6$-F_p6$F-F5F(C$>F*7$Fap-Fbo6$,&-F_p6$FUF5F7F[ oFCF(>F--Fbo6$*&FfpF7F'F7F(F*F%F%F%" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 13 "4.5. Feladat." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 13 "4.6. \+ Megjegyz" }{TEXT 206 8 "\303\251" }{TEXT 206 2 "s." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 10 "4.7. Defin" }{TEXT 206 8 "\303\255" }{TEXT 206 2 "ci" }{TEXT 206 8 "\303\263" }{TEXT 206 1 "." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 6 "4.8. T" }{TEXT 206 8 "\303\251" }{TEXT 206 4 "tel." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 13 "4.9. Feladat." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 57 "# This procedure do primality test for the odd number n\n" }{MPLTEXT 1 0 55 "# using the set S of all factors of n+1 and th e Lucas\n" }{MPLTEXT 1 0 52 "# sequence corresponding to the roots of \+ x^2-Px+1.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 59 "naiveplustest:=proc(n::posint,S::list(posint),P::integer)\n" } {MPLTEXT 1 0 14 "local D,q,L;\n" }{MPLTEXT 1 0 58 "D:=P^2-4; modp(D,4) ; if %=2 or %=3 then RETURN(FAIL) fi;\n" }{MPLTEXT 1 0 14 "igcd(2*D,n) ;\n" }{MPLTEXT 1 0 14 "if %<>1 then\n" }{MPLTEXT 1 0 51 " if %-1 then RETURN(FAIL) fi;\n" }{MPLTEXT 1 0 24 "L:=lucasUV(n+1,P,1,n);\n" }{MPLTEXT 1 0 46 "if L[1]<>0 or L[2 ]<>2 then RETURN(false) fi;\n" }{MPLTEXT 1 0 15 "for q in S do\n" } {MPLTEXT 1 0 30 " L:=lucasUV((n+1)/q,P,1,n);\n" }{MPLTEXT 1 0 46 " i f L[1]=0 and L[2]=2 then RETURN(FAIL) fi;\n" }{MPLTEXT 1 0 13 "od; tru e end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6%'I\"nG6\"I'posintG%*protec tedG'I\"SGF&-I%listGF(6#F''I\"PGF&I(integerGF(6%I\"DGF&I\"qGF&I\"LGF&F &F&C,>F2,&*$)F/\"\"#\"\"\"F;\"\"%!\"\"-I%modpGF(6$F2F<@$5/I\"%GF&F:/FD \"\"$-I'RETURNGF(6#I%FAILGF(-I%igcdGF(6$,$*&F:F;F2F;F;F%@$0FDF;@%2FDF% -FH6#I&falseGF(FG@$0-_I*numtheoryG6$F(I(_syslibGF&I'jacobiGF&6$F2F%F=F G>F4-I(lucasUVGF&6&,&F%F;F;F;F/F;F%@$50&F46#F;\"\"!0&F46#F:F:FT?&F3F*I %trueGF(C$>F4-F\\o6&*&F^oF;F3F=F/F;F%@$3/FboFdo/FfoF:FGFioF&F&F&" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "naiveplustest(7,[2],3);" }} {PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 57 "# This procedure do pr imality test for the odd number n\n" }{MPLTEXT 1 0 57 "# using the set S of all factors of n+1. Try all Lucas\n" }{MPLTEXT 1 0 45 "# sequen ces with Q=1 and P in interval II.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 68 "naiveplustests:=proc(n::posint,S::list(p osint),II::range(integer))\n" }{MPLTEXT 1 0 12 "local r,P;\n" } {MPLTEXT 1 0 36 "for P from op(1,II) to op(2,II) do\n" }{MPLTEXT 1 0 28 " r:=naiveplustest(n,S,P);\n" }{MPLTEXT 1 0 33 " if r<>FAIL then \+ RETURN(r) fi;\n" }{MPLTEXT 1 0 13 "od; FAIL end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6%'I\"nG6\"I'posintG%*protectedG'I\"SGF&-I%listGF(6#F'' I#IIGF&-I&rangeGF(6#I(integerGF(6$I\"rGF&I\"PGF&F&F&C$?(F6-I#opGF(6$\" \"\"F/F<-F:6$\"\"#F/I%trueGF(C$>F5-I.naiveplustestGF&6%F%F*F6@$0F5I%FA ILGF(-I'RETURNGF(6#F5FHF&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "naiveplustests(7,[2],1..2); naiveplustests(7,[2],1..3);" }} {PARA 11 "" 1 "" {XPPMATH 20 "I%FAILG%*protectedG" }}{PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 13 "4.10. Lucas-t" }{TEXT 206 8 "\303\255" }{TEXT 206 3 "pus" } {TEXT 206 8 "\303\272" }{TEXT 206 7 " teszt." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.11. Feladat." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 57 "# This procedure do primality test for the odd number n\n" }{MPLTEXT 1 0 62 "# using a large enough set S of factors of n+1 and the Lucas\n" } {MPLTEXT 1 0 52 "# sequence corresponding to the roots of x^2-Px+1.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 54 "plustest :=proc(n::posint,S::list(posint),P::integer)\n" }{MPLTEXT 1 0 44 "loca l D,q,L; if n=1 then RETURN(false) fi;\n" }{MPLTEXT 1 0 58 "D:=P^2-4; \+ modp(D,4); if %=2 or %=3 then RETURN(FAIL) fi;\n" }{MPLTEXT 1 0 14 "ig cd(2*D,n);\n" }{MPLTEXT 1 0 14 "if %<>1 then\n" }{MPLTEXT 1 0 51 " if %-1 then RETURN(FAIL) fi;\n" } {MPLTEXT 1 0 24 "L:=lucasUV(n+1,P,1,n);\n" }{MPLTEXT 1 0 46 "if L[1]<> 0 or L[2]<>2 then RETURN(false) fi;\n" }{MPLTEXT 1 0 15 "for q in S do \n" }{MPLTEXT 1 0 30 " L:=lucasUV((n+1)/q,P,1,n);\n" }{MPLTEXT 1 0 24 " igcd(L[2]-2,L[1],n);\n" }{MPLTEXT 1 0 16 " if %<>1 then\n" } {MPLTEXT 1 0 53 " if %F2,&*$)F/\"\"#F8F8\"\"%!\"\"-I%modpGF(6$F2FB@ $5/I\"%GF&FA/FJ\"\"$-F:6#I%FAILGF(-I%igcdGF(6$,$*&FAF8F2F8F8F%@$0FJF8@ %2FJF%F9FM@$0-_I*numtheoryG6$F(I(_syslibGF&I'jacobiGF&6$F2F%FCFM>F4-I( lucasUVGF&6&,&F%F8F8F8F/F8F%@$50&F46#F8\"\"!0&F46#FAFAF9?&F3F*I%trueGF (C%>F4-F^o6&*&F`oF8F3FCF/F8F%-FQ6%,&FhoF8FAFCFdoF%FUF[pF&F&F&" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "plustest(7,[2],3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 57 "# This procedure do primalit y test for the odd number n\n" }{MPLTEXT 1 0 63 "# using a large enoug h set S of factors of n+1. Try all Lucas\n" }{MPLTEXT 1 0 44 "# sequen ces with Q=1 and P in interval II.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 63 "plustests:=proc(n::posint,S::list(posint) ,II::range(integer))\n" }{MPLTEXT 1 0 12 "local r,P;\n" }{MPLTEXT 1 0 36 "for P from op(1,II) to op(2,II) do\n" }{MPLTEXT 1 0 23 " r:=plust est(n,S,P);\n" }{MPLTEXT 1 0 33 " if r<>FAIL then RETURN(r) fi;\n" } {MPLTEXT 1 0 13 "od; FAIL end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6%'I \"nG6\"I'posintG%*protectedG'I\"SGF&-I%listGF(6#F''I#IIGF&-I&rangeGF(6 #I(integerGF(6$I\"rGF&I\"PGF&F&F&C$?(F6-I#opGF(6$\"\"\"F/F<-F:6$\"\"#F /I%trueGF(C$>F5-I)plustestGF&6%F%F*F6@$0F5I%FAILGF(-I'RETURNGF(6#F5FHF &F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "plustests(7,[2],1. .2); plustests(7,[2],1..3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "I%FAILG%* protectedG" }}{PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}} {SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.12. Feladat." }}{PARA 0 "" 0 " " {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 59 "# This procedure do primality test for the number h*2 ^n-1\n" }{MPLTEXT 1 0 65 "# with n>1 and odd h<2^n using the Lucas seq uence corresponding\n" }{MPLTEXT 1 0 29 "# to the roots of x^2-Px+1.\n " }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 65 "specplu stest:=proc(h::posint,n::posint,P::integer) local D,L,N;\n" }{MPLTEXT 1 0 61 "if h>=2^n then error \"first parameter is too large\",h fi;\n" }{MPLTEXT 1 0 69 "if type(h,even) then error \"first parameter have t o be odd\",h fi;\n" }{MPLTEXT 1 0 59 "if n<2 then error \"second param eter is too small\",h fi;\n" }{MPLTEXT 1 0 13 "N:=h*2^n-1;\n" } {MPLTEXT 1 0 58 "D:=P^2-4; modp(D,4); if %=2 or %=3 then RETURN(FAIL) \+ fi;\n" }{MPLTEXT 1 0 14 "igcd(2*D,N);\n" }{MPLTEXT 1 0 14 "if %<>1 the n\n" }{MPLTEXT 1 0 51 " if %-1 the n RETURN(FAIL) fi;\n" }{MPLTEXT 1 0 24 "L:=lucasUV(N+1,P,1,N);\n" } {MPLTEXT 1 0 46 "if L[1]<>0 or L[2]<>2 then RETURN(false) fi;\n" } {MPLTEXT 1 0 28 "L:=lucasUV((N+1)/2,P,1,N);\n" }{MPLTEXT 1 0 35 "if L[ 1]<>0 then RETURN(false) fi;\n" }{MPLTEXT 1 0 19 "if L[2]<>N-2 then\n" }{MPLTEXT 1 0 56 " if L[2]=2 then RETURN(FAIL) else RETURN(false) \+ fi;\n" }{MPLTEXT 1 0 13 "fi; true end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6%'I\"hG6\"I'posintG%*protectedG'I\"nGF&F''I\"PGF&I(integerGF(6%I \"DGF&I\"LGF&I\"NGF&F&F&C2@$1)\"\"#F*F%Y6$Q=first~parameter~is~too~lar geF&F%@$-I%typeGF(6$F%I%evenGF(Y6$Q?first~parameter~have~to~be~oddF&F% @$2F*F6Y6$Q>second~parameter~is~too~smallF&F%>F1,&*&F%\"\"\"F5FJFJFJ! \"\">F/,&*$)F,F6FJFJ\"\"%FK-I%modpGF(6$F/FP@$5/I\"%GF&F6/FW\"\"$-I'RET URNGF(6#I%FAILGF(-I%igcdGF(6$,$*&F6FJF/FJFJF1@$0FWFJ@%2FWF*-Fen6#I&fal seGF(FZ@$0-_I*numtheoryG6$F(I(_syslibGF&I'jacobiGF&6$F/F1FKFZ>F0-I(luc asUVGF&6&,&F1FJFJFJF,FJF1@$50&F06#FJ\"\"!0&F06#F6F6Fao>F0-F_p6&,&*&#FJ F6FJF1FJFJF`qFJF,FJF1@$FdpFao@$0Fip,&F1FJF6FK@%/FipF6FZFaoI%trueGF(F&F &F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "specplustest(1,3,3); " }}{PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 59 "# This proced ure do primality test for the number h*2^n-1\n" }{MPLTEXT 1 0 61 "# wi th n>1 and odd h<2^n. Try all Lucas sequences with Q=1\n" }{MPLTEXT 1 0 25 "# and P in interval II.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 61 "specplustests:=proc(h::posint,n::posint,II: :range(integer))\n" }{MPLTEXT 1 0 12 "local r,P;\n" }{MPLTEXT 1 0 61 " if h>=2^n then error \"first parameter is too large\",h fi;\n" } {MPLTEXT 1 0 69 "if type(h,even) then error \"first parameter have to \+ be odd\",h fi;\n" }{MPLTEXT 1 0 59 "if n<2 then error \"second paramet er is too small\",h fi;\n" }{MPLTEXT 1 0 36 "for P from op(1,II) to op (2,II) do\n" }{MPLTEXT 1 0 27 " r:=specplustest(h,n,P);\n" }{MPLTEXT 1 0 33 " if r<>FAIL then RETURN(r) fi;\n" }{MPLTEXT 1 0 13 "od; FAIL \+ end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6%'I\"hG6\"I'posintG%*protecte dG'I\"nGF&F''I#IIGF&-I&rangeGF(6#I(integerGF(6$I\"rGF&I\"PGF&F&F&C'@$1 )\"\"#F*F%Y6$Q=first~parameter~is~too~largeF&F%@$-I%typeGF(6$F%I%evenG F(Y6$Q?first~parameter~have~to~be~oddF&F%@$2F*F8Y6$Q>second~parameter~ is~too~smallF&F%?(F3-I#opGF(6$\"\"\"F,FM-FK6$F8F,I%trueGF(C$>F2-I-spec plustestGF&6%F%F*F3@$0F2I%FAILGF(-I'RETURNGF(6#F2FXF&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "specplustests(1,3,1..2); specpluste sts(1,3,1..3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "I%FAILG%*protectedG" } }{PARA 11 "" 1 "" {XPPMATH 20 "I%trueG%*protectedG" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 8 "4.13. Sz" }{TEXT 206 8 "\303\241" }{TEXT 206 8 "mtestek." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 7 "4.14. T" }{TEXT 206 8 "\303\251" }{TEXT 206 4 "tel." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 19 "4.15. Riesel-teszt." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 7 "4 .16. K" }{TEXT 206 8 "\303\266" }{TEXT 206 7 "vetkezm" }{TEXT 206 8 " \303\251" }{TEXT 206 3 "ny." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 " 4.17. Feladat." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 64 "# This procedure calculat e a^h+a^(-h) for a unit a=r+s*sqrt(D)\n" }{MPLTEXT 1 0 62 "# with norm 1. Here r,s rational numbers, D must be a square\n" }{MPLTEXT 1 0 50 "# free integer. All computations are done mod N.\n" }{MPLTEXT 1 0 3 " #\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 41 "rieselsetup:=proc(r,s,D,h, N) local P,a;\n" }{MPLTEXT 1 0 17 "a:=r+s*sqrt(D);\n" }{MPLTEXT 1 0 43 "P:=r+s*sqrt(D)+(r-s*sqrt(D))/(r^2-s^2*D);\n" }{MPLTEXT 1 0 64 "if \+ not type(P,integer) then ERROR(a+1/a, `not an integer`) fi;\n" } {MPLTEXT 1 0 24 "lucasV(h,P,1,N)[1]; end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6'I\"rG6\"I\"sGF%I\"DGF%I\"hGF%I\"NGF%6$I\"PGF%I\"aGF%F %F%C&>F,,&F$\"\"\"*&F&F0-I%sqrtG6$%*protectedGI(_syslibGF%6#F'F0F0>F+, (F$F0F1F0*&,&F$F0F1!\"\"F0,&*$)F$\"\"#F0F0*&)F&F@F0F'F0F " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 54 "# A procedure above f or primality testing of h*2^n-1\n" }{MPLTEXT 1 0 58 "# with n>1 and od d h<2^n for which h not divisible by 3.\n" }{MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 53 "rieselsqrt3:=proc(h::posint,n::p osint) local i,v,N;\n" }{MPLTEXT 1 0 61 "if h>=2^n then error \"first \+ parameter is too large\",h fi;\n" }{MPLTEXT 1 0 69 "if type(h,even) th en error \"first parameter have to be odd\",h fi;\n" }{MPLTEXT 1 0 72 "if modp(h,3)=0 then error \"first parameter is a multiple of 3\",h fi ;\n" }{MPLTEXT 1 0 59 "if n<2 then error \"second parameter is too sma ll\",h fi;\n" }{MPLTEXT 1 0 50 "N:=h*2^n-1; if modp(N,3)=0 then return false fi;\n" }{MPLTEXT 1 0 28 "v:=rieselsetup(2,1,3,h,N);\n" } {MPLTEXT 1 0 36 "for i to n-2 do v:=v^2-2 mod N od;\n" }{MPLTEXT 1 0 16 "evalb(v=0); end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6$'I\"hG6\"I'p osintG%*protectedG'I\"nGF&F'6%I\"iGF&I\"vGF&I\"NGF&F&F&C+@$1)\"\"#F*F% Y6$Q=first~parameter~is~too~largeF&F%@$-I%typeGF(6$F%I%evenGF(Y6$Q?fir st~parameter~have~to~be~oddF&F%@$/-I%modpGF(6$F%\"\"$\"\"!Y6$QCfirst~p arameter~is~a~multiple~of~3F&F%@$2F*F3Y6$Q>second~parameter~is~too~sma llF&F%>F.,&*&F%\"\"\"F2FQFQFQ!\"\"@$/-FB6$F.FDFEOI&falseGF(>F--I,riese lsetupGF&6'F3FQFDF%F.?(F,FQFQ,&F*FQF3FRI%trueGF(>F--I$modGF&6$,&*$)F-F 3FQFQF3FRF.-I&evalbGF(6#/F-FEF&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 15 "# Some tests.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 25 "test:=proc() local h,n; \n" }{MPLTEXT 1 0 23 "for h in \{1,5,7\} do\n" }{MPLTEXT 1 0 25 " for n from 4 to 20 do\n" }{MPLTEXT 1 0 46 " print(isprime(h*2^n-1),rie selsqrt3(h,n))\n" }{MPLTEXT 1 0 6 " od\n" }{MPLTEXT 1 0 7 "od end;" } }{PARA 11 "" 1 "" {XPPMATH 20 "f*6\"6$I\"hGF#I\"nGF#F#F#?&F%<%\"\"\"\" \"&\"\"(I%trueG%*protectedG?(F&\"\"%F)\"#?F,-I&printGF-6$-I(isprimeGF# 6#,&*&F%F))\"\"#F&F)F)F)!\"\"-I,rieselsqrt3GF#F$F#F#F#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "test();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF #" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.19. Feladat ." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 66 "# This procedure use iteration \+ v<-v^2-2 starting with v=a^h+a^-h\n" }{MPLTEXT 1 0 59 "# where the qua dratic unit a=r+s*sqrt(D) is given for the\n" }{MPLTEXT 1 0 60 "# prim ality testing of h*2^n-1. Here n>1 and h<2^n is odd.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 38 "riesel:=proc(h,n,r,s,D) local N,v,i;\n" }{MPLTEXT 1 0 61 "if h>=2^n then error \"first parame ter is too large\",h fi;\n" }{MPLTEXT 1 0 69 "if type(h,even) then err or \"first parameter have to be odd\",h fi;\n" }{MPLTEXT 1 0 59 "if n< 2 then error \"second parameter is too small\",h fi;\n" }{MPLTEXT 1 0 13 "N:=h*2^n-1;\n" }{MPLTEXT 1 0 28 "v:=rieselsetup(r,s,D,h,N);\n" } {MPLTEXT 1 0 36 "for i to n-2 do v:=v^2-2 mod N od;\n" }{MPLTEXT 1 0 16 "evalb(v=0); end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6'I\"hG6\"I\"n GF%I\"rGF%I\"sGF%I\"DGF%6%I\"NGF%I\"vGF%I\"iGF%F%F%C)@$1)\"\"#F&F$Y6$Q =first~parameter~is~too~largeF%F$@$-I%typeG%*protectedG6$F$I%evenGF9Y6 $Q?first~parameter~have~to~be~oddF%F$@$2F&F2Y6$Q>second~parameter~is~t oo~smallF%F$>F+,&*&F$\"\"\"F1FGFGFG!\"\">F,-I,rieselsetupGF%6'F'F(F)F$ F+?(F-FGFG,&F&FGF2FHI%trueGF9>F,-I$modGF%6$,&*$)F,F2FGFGF2FHF+-I&evalb GF96#/F,\"\"!F%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 15 "# Some tests.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 25 "test:=proc() local h,n;\n" }{MPLTEXT 1 0 23 "for h in \{1,5,7\} do\n" }{MPLTEXT 1 0 25 " for n from 4 to 20 do \n" }{MPLTEXT 1 0 47 " print(isprime(h*2^n-1),riesel(h,n,2,1,3))\n" }{MPLTEXT 1 0 6 " od\n" }{MPLTEXT 1 0 7 "od end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6\"6$I\"hGF#I\"nGF#F#F#?&F%<%\"\"\"\"\"&\"\"(I%trueG%* protectedG?(F&\"\"%F)\"#?F,-I&printGF-6$-I(isprimeG6$F-I(_syslibGF#6#, &*&F%F))\"\"#F&F)F)F)!\"\"-I'rieselGF#6'F%F&F " 0 "" {MPLTEXT 1 0 7 "test();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%* protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF #" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I%trueG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG%*protectedGF#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$I&falseG% *protectedGF#" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.20. Feladat ." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 63 "# This procedure find units hav ing the form (k+l*sqrt(D))^2/r\n" }{MPLTEXT 1 0 50 "# with small integ ers k,l and r=k^2-l^2*D in the\n" }{MPLTEXT 1 0 54 "# quadratic extens ion of the rationals with sqrt(D).\n" }{MPLTEXT 1 0 64 "# D must be a \+ square free integer. The numbers with |k|,|l|<=B\n" }{MPLTEXT 1 0 63 " # are tested. We remark that taking -r instead of r we get an\n" } {MPLTEXT 1 0 54 "# other unit. The list of all [k,l,r] is given back. \n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" }{MPLTEXT 1 0 42 "findu nit:=proc(D,B) local k,l,r,a,b,n,L;\n" }{MPLTEXT 1 0 8 "L:=[];\n" } {MPLTEXT 1 0 22 "for k from 0 to B do\n" }{MPLTEXT 1 0 25 " for l fro m -B to B do\n" }{MPLTEXT 1 0 19 " r:=k^2-l^2*D;\n" }{MPLTEXT 1 0 18 " if r<>0 then\n" }{MPLTEXT 1 0 37 " a:=(k^2+l^2*D)/r; b:=2 *k*l/r;\n" }{MPLTEXT 1 0 48 " if D mod 4=1 then n:=a^2-a*b-b^2*(D -1)/4\n" }{MPLTEXT 1 0 29 " else n:=a^2-D*b^2 fi;\n" }{MPLTEXT 1 0 59 " if n=1 and igcd(k,l,r)=1 then L:=[op(L),[k,l,r]] fi\n" } {MPLTEXT 1 0 8 " fi\n" }{MPLTEXT 1 0 6 " od\n" }{MPLTEXT 1 0 18 "o d; L end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6$I\"DG6\"I\"BGF% 6)I\"kGF%I\"lGF%I\"rGF%I\"aGF%I\"bGF%I\"nGF%I\"LGF%F%F%C%>F.7\"?(F(\" \"!\"\"\"F&I%trueG%*protectedG?(F),$F&!\"\"F4F&F5C$>F*,&*$)F(\"\"#F4F4 *&)F)F?F4F$F4F9@$0F*F3C&>F+*&,&F=F4F@F4F4F*F9>F,,$**F?F4F(F4F)F4F*F9F4 @%/-I$modGF%6$F$\"\"%F4>F-,(*$)F+F?F4F4*&F+F4F,F4F9*(#F4FPF4)F,F?F4,&F $F4F4F9F4F9>F-,&FSF4*&F$F4FXF4F9@$3/F-F4/-I%igcdGF66%F(F)F*F4>F.7$-I#o pGF66#F.7%F(F)F*F.F%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "for d in \{2,3,5\} do print(findunit(d,5)) od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "7K7%\"\"!!\"\"!\"#7%F$\"\"\"F&7%F(!\"&!#\\7%F(!\"%!#J7%F( !\"$!#<7%F(F&!\"(7%F(F%F%7%F(F$F(7%F(F(F%7%F(\"\"#F37%F(\"\"$F17%F(\" \"%F.7%F(\"\"&F+7%F8F*!#Y7%F8F0!#97%F8F%F87%F8F(F87%F8F:FB7%F8F>F@7%F: F*!#T7%F:F-!#B7%F:F&F(7%F:F%\"\"(7%F:F(FM7%F:F8F(7%F:FFH7%FFS7%F>F-F37%F>F0FM7%F>F&\" #<7%F>F%\"#B7%F>F(Fin7%F>F8Fgn7%F>F:FM7%F>FF@7%F:F*! #m7%F:F-!#R7%F:F2F&7%F:F%\"\"'7%F:F(FM7%F:F8F&7%F:FFH7%FFS7%F>F-FB7%F>F&F27%F>F2FV7%F >F%\"#A7%F>F(Fhn7%F>F8FV7%F>F:F27%F>F " 0 "" {MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 52 "# This procedure do Lucas-Lehmer-test for Mersenne\n" }{MPLTEXT 1 0 52 "# nu mbers M[n]=2^n-1. The exponents are taken from\n" }{MPLTEXT 1 0 49 "# \+ the list L. The result is the sequence of the\n" }{MPLTEXT 1 0 28 "# f or which M[n] is prime.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 55 "luc aslehmer:=proc(L::list(posint)) local n,M,i,vi,nL;\n" }{MPLTEXT 1 0 9 "nL:=[];\n" }{MPLTEXT 1 0 32 "for n in L do vi:=4; M:=2^n-1;\n" } {MPLTEXT 1 0 43 " for i to n-2 do vi:=modp(vi&^2-2,M) od;\n" } {MPLTEXT 1 0 35 " if vi=0 then nL:=[op(nL),n] fi;\n" }{MPLTEXT 1 0 11 "od; nL end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6#'I\"LG6\"-I%listG %*protectedG6#I'posintGF)6'I\"nGF&I\"MGF&I\"iGF&I#viGF&I#nLGF&F&F&C%>F 17\"?&F-F%I%trueGF)C&>F0\"\"%>F.,&)\"\"#F-\"\"\"F>!\"\"?(F/F>F>,&F-F>F =F?F6>F0-I%modpGF)6$,&-I#&^GF&6$F0F=F>F=F?F.@$/F0\"\"!>F17$-I#opGF)6#F 1F-F1F&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "Mersenne:=[2 ,3,5,7,13,17,19,31,67,127,257]; lucaslehmer(Mersenne);\n" }{MPLTEXT 1 0 32 "L:=[i$i=2..257]; lucaslehmer(L);" }}{PARA 11 "" 1 "" {XPPMATH 20 "7-\"\"#\"\"$\"\"&\"\"(\"#8\"#<\"#>\"#J\"#n\"$F\"\"$d#" }}{PARA 11 "" 1 "" {XPPMATH 20 "7*\"\"$\"\"&\"\"(\"#8\"#<\"#>\"#J\"$F\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "7\\[l\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(\"\")\"\"*\"# 5\"#6\"#7\"#8\"#9\"#:\"#;\"#<\"#=\"#>\"#?\"#@\"#A\"#B\"#C\"#D\"#E\"#F \"#G\"#H\"#I\"#J\"#K\"#L\"#M\"#N\"#O\"#P\"#Q\"#R\"#S\"#T\"#U\"#V\"#W\" #X\"#Y\"#Z\"#[\"#\\\"#]\"#^\"#_\"#`\"#a\"#b\"#c\"#d\"#e\"#f\"#g\"#h\"# i\"#j\"#k\"#l\"#m\"#n\"#o\"#p\"#q\"#r\"#s\"#t\"#u\"#v\"#w\"#x\"#y\"#z \"#!)\"#\")\"##)\"#$)\"#%)\"#&)\"#')\"#()\"#))\"#*)\"#!*\"#\"*\"##*\"# $*\"#%*\"#&*\"#'*\"#(*\"#)*\"#**\"$+\"\"$,\"\"$-\"\"$.\"\"$/\"\"$0\"\" $1\"\"$2\"\"$3\"\"$4\"\"$5\"\"$6\"\"$7\"\"$8\"\"$9\"\"$:\"\"$;\"\"$<\" \"$=\"\"$>\"\"$?\"\"$@\"\"$A\"\"$B\"\"$C\"\"$D\"\"$E\"\"$F\"\"$G\"\"$H \"\"$I\"\"$J\"\"$K\"\"$L\"\"$M\"\"$N\"\"$O\"\"$P\"\"$Q\"\"$R\"\"$S\"\" $T\"\"$U\"\"$V\"\"$W\"\"$X\"\"$Y\"\"$Z\"\"$[\"\"$\\\"\"$]\"\"$^\"\"$_ \"\"$`\"\"$a\"\"$b\"\"$c\"\"$d\"\"$e\"\"$f\"\"$g\"\"$h\"\"$i\"\"$j\"\" $k\"\"$l\"\"$m\"\"$n\"\"$o\"\"$p\"\"$q\"\"$r\"\"$s\"\"$t\"\"$u\"\"$v\" \"$w\"\"$x\"\"$y\"\"$z\"\"$!=\"$\"=\"$#=\"$$=\"$%=\"$&=\"$'=\"$(=\"$)= \"$*=\"$!>\"$\">\"$#>\"$$>\"$%>\"$&>\"$'>\"$(>\"$)>\"$*>\"$+#\"$,#\"$- #\"$.#\"$/#\"$0#\"$1#\"$2#\"$3#\"$4#\"$5#\"$6#\"$7#\"$8#\"$9#\"$:#\"$; #\"$<#\"$=#\"$>#\"$?#\"$@#\"$A#\"$B#\"$C#\"$D#\"$E#\"$F#\"$G#\"$H#\"$I #\"$J#\"$K#\"$L#\"$M#\"$N#\"$O#\"$P#\"$Q#\"$R#\"$S#\"$T#\"$U#\"$V#\"$W #\"$X#\"$Y#\"$Z#\"$[#\"$\\#\"$]#\"$^#\"$_#\"$`#\"$a#\"$b#\"$c#\"$d#" } }{PARA 11 "" 1 "" {XPPMATH 20 "7-\"\"$\"\"&\"\"(\"#8\"#<\"#>\"#J\"#h\" #*)\"$2\"\"$F\"" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 14 "4.22. Felad at." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 9 "4.23. Val" }{TEXT 206 8 " \303\263" }{TEXT 206 2 "sz" }{TEXT 206 8 "\303\255" }{TEXT 206 1 "n" } {TEXT 206 8 "\305\261" }{TEXT 206 1 "s" }{TEXT 206 8 "\303\251" }{TEXT 206 9 "gi teszt." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.24. Feladat." }}{PARA 0 "" 0 " " {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "interface (verboseproc=2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "print(`isprime`);" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6#I\"nG6\"6&I%btorGF%I#nrGF%I\"pGF%I\"rGF%6%I)rememb erGF%I'systemG%*protectedGIipCopyright~(c)~1993~Gaston~Gonnet,~Wissens chaftliches~Rechnen,~ETH~Zurich.~All~rights~reserved.GF%E\\s!C$@$4-I%t ypeGF.6$F$.I(integerGF.@%-F56$F$.I(numericGF.YQDM'y$oi+ bGAA[))H7vW?spIY$o&fDh'en;3EvQ!ROOPaRFE-CtD\\\\i[/iyk18JjIP*)pp=d\")yS k$*yltE68uwvmI'H'zt$)Hs'Q#o(4DQL*\\h)G!o'=r\"py4v84&4tZp!44Rp2F$*Q?UjU X:hOF$*[meig#f'*\\t=4*RB`5\"=MB*[pp\\)F$FTFI2F$\"(\"3=5FNO-I,gmp_ispri meGF.F#F%F%F%" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 14 "4.25. Megjegy z" }{TEXT 206 8 "\303\251" }{TEXT 206 2 "s." }}}{SECT 1 {PARA 4 "" 0 " " {TEXT 206 20 "4.26. Williams p+1 m" }{TEXT 206 8 "\303\263" }{TEXT 206 7 "dszere." }}}{SECT 1 {PARA 4 "" 0 "" {TEXT 206 12 "4.27. Lemma." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT 206 14 "4.28. Feladat." }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#\n" } {MPLTEXT 1 0 66 "# This procedure is Williams' p+1 method for factoriz ation of n.\n" }{MPLTEXT 1 0 65 "# P is the parameter for the Lucas se quence. Calculation of V's\n" }{MPLTEXT 1 0 53 "# goes up to V_k!. Th e result is the factor found;\n" }{MPLTEXT 1 0 36 "# gcd is calculated after m steps.\n" }{MPLTEXT 1 0 3 "#\n" }{MPLTEXT 1 0 2 "\n" } {MPLTEXT 1 0 58 "williams:=proc(n::posint,P::integer,k::posint,m::posi nt)\n" }{MPLTEXT 1 0 22 "local g,x,i,j; x:=P;\n" }{MPLTEXT 1 0 27 "for i from 2 by m to k do\n" }{MPLTEXT 1 0 39 " for j from i to i+m-1 wh ile j<=k do\n" }{MPLTEXT 1 0 28 " x:=lucasV(j,x,1,n)[1];\n" } {MPLTEXT 1 0 7 " od;\n" }{MPLTEXT 1 0 19 " g:=igcd(x-2,n);\n" } {MPLTEXT 1 0 29 " if g>1 then RETURN(g) fi;\n" }{MPLTEXT 1 0 20 "od; \+ igcd(x-2,n) end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "f*6&'I\"nG6\"I'posin tG%*protectedG'I\"PGF&I(integerGF('I\"kGF&F''I\"mGF&F'6&I\"gGF&I\"xGF& I\"iGF&I\"jGF&F&F&C%>F2F*?(F3\"\"#F/F-I%trueGF(C%?(F4F3\"\"\",(F3FF2&-I'lucasVGF&6&F4F2FF1-I%igcdGF(6$,&F2FF% @$2F " 0 "" {MPLTEXT 1 0 64 "williams(25852,3,10,1); williams(999863*999883*999907,3,1000,1 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "\"'2****" }}}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 23 "5. A lkalmaz\303\241sok " }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 36 "6. Sz\303\241mok \303\251s polinomok" }} {PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 45 "7. Gyors Fourier-transzform\303\241ci\303\263" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 38 "8. Elliptikus \+ f\303\274ggv\303\251nyek" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 59 "9. Sz\303\241mol\303\241s elliptikus g\3 03\266rb\303\251ken" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 65 "10. Faktoriz\303\241l\303\241s elliptiku s g\303\266rb\303\251kkel" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 55 "11. Pr\303\255mteszt elliptikus g\303\2 66rb\303\251kkel" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 37 "12. Polinomfaktoriz\303\241l\303\241s" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT 205 36 "13. A szita m\303\263dszerek alapjai" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}} {SECT 1 {PARA 3 "" 0 "" {TEXT 205 16 "14. Az AKS teszt" }}{PARA 0 "" 0 "" {TEXT 201 0 "" }}}{EXCHG {PARA 205 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 201 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {XPPEDIT 19 1 "" "%#%?G" }}}} {MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }