{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "_cstyle3" -1 203 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle4" -1 207 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle5" -1 208 "Courier" 1 12 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "_cstyle6" -1 209 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{PSTYLE "_pstyle4" -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 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyl e5" -1 204 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 0 1 0 2 1 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle6" -1 205 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle7" -1 206 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle8" -1 207 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 1 0 1 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "01." }{TEXT 207 0 "" }}} {EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 20 "karatsuba:=proc(x,y)" } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 31 "\nlocal a,b,c,d,n,m,amalc,bmal d;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nn:=nops(convert(x,base, 10));" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nm:=nops(convert(y,ba se,10));" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 16 "\nif min(n,m)<=1 " }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 19 "\n then return(x*y)" } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 8 "\nend if;" }{MPLTEXT 1 208 0 " " }{MPLTEXT 1 208 13 "\nm:=max(n,m);" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 6 "\nn:=1;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 28 "\nwhile n \+ " 0 "" {MPLTEXT 1 208 17 "trace(karatsuba):" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 22 "\nkaratsuba(1234,5678):" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 20 "\nuntrace(karatsuba):" }{MPLTEXT 1 208 0 "" }}} {EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "03." }{TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 20 "karatsuba:=proc(x,y)" } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 17 "\noption remember;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 31 "\nlocal a,b,c,d,n,m,amalc,bmald;" } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nn:=nops(convert(x,base,10)); " }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nm:=nops(convert(y,base,10 ));" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 16 "\nif min(n,m)<=1 " } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 19 "\n then return(x*y)" } {MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 8 "\nend if;" }{MPLTEXT 1 208 0 " " }{MPLTEXT 1 208 13 "\nm:=max(n,m);" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 6 "\nn:=1;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 28 "\nwhile n \+ " 0 "" {MPLTEXT 1 208 19 "multiply:=proc(x,y)" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 17 "\noption remember;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 19 "\nlocal a,b,c,d,n,m;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nn:=nops(convert(x,base,10));" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 29 "\nm:=nops(convert(y,base,10));" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 16 "\nif min(n,m)<=1 " }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 19 "\n then return(x*y)" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 8 "\nend if;" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 13 "\nm:=max(n,m); " }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 6 "\nn:=1;" }{MPLTEXT 1 208 0 " " }{MPLTEXT 1 208 28 "\nwhile n " 0 "" {MPLTEXT 1 208 23 "rnd:=rand(10^49,10^50):" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 10 "\nx:=rnd():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 10 "\ny:=rnd():" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "06." }{TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 14 "start:=time():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 9 "\nz1:=x*y:" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 14 "\ntime()-s tart;" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "0 7." }{TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 14 "s tart:=time():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 20 "\nz2:=karatsub a(x,y):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 14 "\ntime()-start;" } {MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "08." } {TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 6 "z2-z1; " }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "09." } {TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 14 "start: =time():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 19 "\nz3:=multiply(x,y) :" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 14 "\ntime()-start;" } {MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "10." } {TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 30 "rnd:=r and(10^99999,10^100000):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 10 "\nx :=rnd():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 10 "\ny:=rnd():" } {MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 207 3 "11." } {TEXT 207 0 "" }}}{EXCHG {PARA 204 "> " 0 "" {MPLTEXT 1 208 14 "start: =time():" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 5 "\nx*y:" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 14 "\ntime()-start;" }{MPLTEXT 1 208 0 "" }}} {PARA 205 "" 0 "" {TEXT 203 0 "" }}{PARA 205 "" 0 "" {TEXT 203 0 "" }} {PARA 205 "" 0 "" {TEXT 203 0 "" }}{PARA 205 "" 0 "" {TEXT 203 0 "" }} {PARA 206 "" 0 "" {TEXT 209 0 "" }}{PARA 207 "" 0 "" {TEXT -1 0 "" }}} {MARK "1 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }