| |
|
|
p.specht
| Dezimalzahlen sommes so aufgebaut, qui à gauche récente dazukommende se mettre jeweils um den facteur 10 plus wert sommes comme qui vorherige Stelle à droite en.
Lucas-Lehmer-payons sommes so aufgebaut, qui qui la base pas fix 10 ist, mais sich avec qui Stellenzahl ändert. qui Stellenwert ist alors pas 10^(Stellenzahl-1) ist, mais "Produkt aller payons de 1 jusqu'à (Stellenzahl-1)".
Solche "Zahlen" avons qui besondere qualité, qui vous lexikalische Permutationen de Elementen "ein-eindeutig" kennzeichnen. il peut alors z.B. qui 12.354ste Umordnung (Permutation) qui Elemente A B C D E F G H I direct avec cela erzeugen, et muss pas de 0 jusqu'à dorthin alle Umordnungen qui Reihe pour ermitteln, um cela herauszubekommen. aussi qui umgekehrte Fragestellung ("Die wievielte Permutation ist cet vorgegebene Muster eigentlich?") peut sich so leichter klären. Praktische Anwendungen trouver qui Lucas-Lehmer-Codes z.B. beim Knacken de RSA-Cryptosystemen.
ici un kurzes Programme, cela qui (dezimal) n.te Umordnung dans den Lucas-Lehmer-Code wandelt:
Titre de la fenêtre "Permutationen im eindeutigen Lucas-Lehmer Code darstellen"
CLS
AppendMenuBar 10, "Summe aufeinanderfolgenden Fakultäten la fois ihrem index ist 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
Fenêtre (u%-xr%)*xf!+xr%, (v%-yr%)*yf!+yr%
SetWindowPos %HWnd=(%maxx-u%)/2,((%maxy-v%)/2) - u%,v%
Déclarer s$,s!,n!,m!,m&,mmax&,prod!,lprod!,w&[200]
set("decimals",0)
Font 2:randomize
nomoi:
CLS rnd(8^8)
Imprimer " Zugrundeliegende Frage: Welches Produkt aller Integerzahlen de n jusqu'à 1 "
Imprimer " ergibt un bestimmtes Ergebnis 'faculté de n' = \n ";
Contribution s$
s!=val($ S)
Imprimer "\n (reste)-Laufprodukt:"
ausloten:
prod!=1
WhileLoop 2147483647
n!=&Boucle
lprod!=prod!
Prod!=Prod!*n!
cas Prod!>S!:pause
Endwhile
'imprimer " Drüber: Produkt 1 .. "; n!;" avec Produkt ";tab(40);Prod!
'imprimer " Drunter: Produkt 1 .. "; n!-1; " avec Produkt ";tab(40);LProd!
m!=n!-1
m&=m!
cas mmax&<m&:mmax&=m&
'imprimer m!,
w&[m&]=w&[m&]+1
S!=s!-LProd!
cas s!>0: goto "ausloten"
imprimer
imprimer
'imprimer " = ";mmax&;":";
WhileLoop mmax&,0,-1
si W&[&Boucle]>9:imprimer "'";
si W&[&Boucle]>99:imprimer "'";
si W&[&Boucle]>999:imprimer "'";
endif
endif
endif
imprimer W&[&Boucle];
'cas (&Loop>1):imprimer ",";
Endwhile
WaitInput
clear w&[]
mmax&=0
goto "nomoi"
' Beispiel, à n. Permuation réellement trop ermitteln: » ' "4041000" = 4*6!+0*5!+4*4!+1*3!+0*2!+0*1!+0*0! ' Stellenwert = (len-pos)! = (7-1)! = 6! ' Permutation erzeugen aus Fakultätsbasierter numéro: ' Grundordnung: 0123456 facteur Subtrakt reste » -4 01234564 » -0 0123560 » -4 12356 6 » -1 12352 » -0 1351 » -0 353 » -0 5 5
qui 4.041.000 Anordnung ist alors: "4062135" |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 13.06.2021 ▲ |
|
|
|