| |
|
|
p.specht
| Dezimalzahlen son así aufgebaut, daß links neu dazukommende Stellen jeweils en el Faktor 10 mehr wert son como el vorherige Punto rechts su.
Lucas-Lehmer-Pagar son así aufgebaut, daß el Base no fix 10 es, pero se con el Stellenzahl ändert. Der Stellenwert es also no 10^(Stellenzahl-1) es, pero "Produkt aller Pagar de 1 a (Stellenzahl-1)".
Solche "Zahlen" haben el besondere Eigenschaft, daß ellos lexikalische Permutationen de Elementen "ein-eindeutig" kennzeichnen. Se puede also z.B. el 12.354ste Umordnung (Permutation) el Elemente A B C D E F G H I direkt así erzeugen, y muss no de 0 a dorthin todos Umordnungen el Reihe después de ermitteln, en el herauszubekommen. Auch el umgekehrte Fragestellung ("Die wievielte Permutation es dieses vorgegebene Muster eigentlich?") lässt se así leichter klären. Praktische Anwendungen encontrar el Lucas-Lehmer-Codes z.B. beim Knacken de RSA-Cryptosystemen.
Hier una kurzes Programa, el el (dezimal) n.te Umordnung en el Lucas-Lehmer-Code wandelt:
Título de la ventana "Permutationen en el eindeutigen Lucas-Lehmer Code darstellen"
CLS
AppendMenuBar 10, "Summe aufeinanderfolgenden Fakultäten veces ihrem Index es Nächste_Fakultät-1"
' "https://de.wikipedia.org/wiki/Fakult%C3%A4tsbasiertes_Zahlensystem"
var xf!=0.797:var xr%=(%WinRight- %WinLeft-width(%Hwnd))+1
var yf!=0.72 :var yr%=(%WinBottom-%WinTop-height(%Hwnd))+1
var u%= 640*1.5 : var v%= 480*1.5
Ventana (u%-xr%)*xf!+xr%, (v%-yr%)*yf!+yr%
SetWindowPos %HWnd=(%maxx-u%)/2,((%maxy-v%)/2) - u%,v%
Declarar s$,s!,n!,m!,m&,mmax&,prod!,lprod!,w&[200]
set("decimals",0)
Font 2:randomize
nomoi:
CLS rnd(8^8)
Imprimir " Zugrundeliegende Cuestión: Welches Produkt aller Integerzahlen de n a 1 "
Imprimir " ergibt una bestimmtes Ergebnis 'Fakultät de n' = \n ";
Entrada s$
s!=val(s$)
Imprimir "\n (Rest)-Laufprodukt:"
ausloten:
prod!=1
WhileLoop 2147483647
n!=&Loop
lprod!=prod!
Prod!=Prod!*n!
caso Prod!>S!:romper
EndWhile
'imprimir " Drüber: Produkt 1 .. "; n!;" con Produkt ";tab(40);Prod!
'imprimir " Drunter: Produkt 1 .. "; n!-1; " con Produkt ";tab(40);LProd!
m!=n!-1
m&=m!
caso mmax&<m&:mmax&=m&
'imprimir m!,
w&[m&]=w&[m&]+1
S!=s!-LProd!
caso s!>0: goto "ausloten"
imprimir
imprimir
'imprimir " = ";mmax&;":";
WhileLoop mmax&,0,-1
if W&[&Loop]>9:imprimir "'";
if W&[&Loop]>99:imprimir "'";
if W&[&Loop]>999:imprimir "'";
endif
endif
endif
imprimir W&[&Loop];
'caso (&Loop>1):imprimir ",";
EndWhile
WaitInput
clear w&[]
mmax&=0
goto "nomoi"
' Ejemplo, a n. Permuation tatsächlich a ermitteln: ' ' "4041000" = 4*6!+0*5!+4*4!+1*3!+0*2!+0*1!+0*0! ' Stellenwert = (len-pos)! = (7-1)! = 6! ' Permutation erzeugen de Fakultätsbasierter Zahl: ' Grundordnung: 0123456 Faktor Subtrakt Rest ' -4 01234564 ' -0 0123560 ' -4 12356 6 ' -1 12352 ' -0 1351 ' -0 353 ' -0 5 5
El 4.041.000 Anordnung es also: "4062135" |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 13.06.2021 ▲ |
|
|
|