Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Algorithmen & Lehrreiches

Algorithmen & Lehrreiches Algorithmen & Lehrreiches...

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag breitbandverbindung
Aufrufe: 171, Antworten: 5
Gehe zum ersten neuen Beitrag [Windows XP-32 bit] Ihr Konto wird gesperrt...
Aufrufe: 25, Antworten: 5
Gehe zum ersten neuen Beitrag Benutzerrechte für "Gast"...
Aufrufe: 305, Antworten: 11
Gehe zum ersten neuen Beitrag [Windows XP-32 bit] CPU Auslastung ständig 100...
Aufrufe: 246, Antworten: 18
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Serienempfehlung gewünscht :)
Aufrufe: 1935, Antworten: 27
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26436, Antworten: 4179
Gehe zum ersten neuen Beitrag [Verkaufe] HTC Desire "S"
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Probleme mit Internet...
Aufrufe: 301, Antworten: 11
Gehe zum ersten neuen Beitrag Schnäppchen Thread ... von...
Aufrufe: 7363, Antworten: 36
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26.01.2012, 03:08   #1 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.078
Standard

Abt. "Die n. Permutation im Lucas-Lehmer-Code darstellen"
=====================================
Dezimalzahlen sind so aufgebaut, daß links neu dazukommende Stellen jeweils um den Faktor 10 mehr wert sind als die vorherige Stelle rechts davon.

Lucas-Lehmer-Zahlen sind so aufgebaut, daß die Basis nicht fix 10 ist, sondern sich mit der Stellenzahl ändert. Der Stellenwert ist also nicht 10^(Stellenzahl-1) ist, sondern "Produkt aller Zahlen von 1 bis (Stellenzahl-1)".

Solche "Zahlen" haben die besondere Eigenschaft, daß sie lexikalische Permutationen von Elementen "ein-eindeutig" kennzeichnen. Man kann also z.B. die 12.354ste Umordnung (Permutation) der Elemente A B C D E F G H I direkt damit erzeugen, und muss nicht von 0 bis dorthin alle Umordnungen der Reihe nach ermitteln, um das herauszubekommen. Auch die umgekehrte Fragestellung ("Die wievielte Permutation ist dieses vorgegebene Muster eigentlich?") lässt sich so leichter klären. Praktische Anwendungen finden die Lucas-Lehmer-Codes z.B. beim Knacken von RSA-Cryptosystemen.

Hier ein kurzes Programm, das die (dezimal) n.te Umordnung in den Lucas-Lehmer-Code wandelt:
Code:
WindowTitle "Permutationen im eindeutigen Lucas-Lehmer Code darstellen"
CLS
AppendMenuBar 10, "Summe aufeinanderfolgenden Fakultäten mal ihrem Index ist Nächste_Fakultät-1"
' "http://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
Window (u%-xr%)*xf!+xr%, (v%-yr%)*yf!+yr%
SetWindowPos %HWnd=(%maxx-u%)/2,((%maxy-v%)/2) - u%,v%
Declare s$,s!,n!,m!,m&,mmax&,prod!,lprod!,w&[200]

set("decimals",0)
Font 2:randomize
nomoi:
CLS rnd(8^8)
Print " Zugrundeliegende Frage: Welches Produkt aller Integerzahlen von n bis 1 "
Print " ergibt ein bestimmtes Ergebnis 'Fakultät von n' = \n ";
Input s$
s!=val(s$)
Print "\n (Rest)-Laufprodukt:"

ausloten:
prod!=1
WhileLoop 2147483647
  n!=&Loop
  lprod!=prod!
  Prod!=Prod!*n!
  case Prod!>S!:break
EndWhile
'print " Drüber:  Produkt 1 .. "; n!;" mit Produkt ";tab(40);Prod!
'print " Drunter: Produkt 1 .. "; n!-1; " mit Produkt ";tab(40);LProd!
m!=n!-1
m&=m!
case mmax&<m&:mmax&=m&
'print m!,
w&[m&]=w&[m&]+1
S!=s!-LProd!
case s!>0: goto "ausloten"


print
print 
'print " = ";mmax&;":";
WhileLoop mmax&,0,-1
  if W&[&Loop]>9:print "'";
      if W&[&Loop]>99:print "'";
        if W&[&Loop]>999:print "'";
        endif
      endif
  endif
  print W&[&Loop];
  'case (&Loop>1):print ",";
  
EndWhile

WaitInput
clear w&[]
mmax&=0
goto "nomoi"

'  Beispiel, um die n. Permuation tatsächlich zu ermitteln:
'  
'  "4041000" = 4*6!+0*5!+1*3!+0*2!+0*1!
'  Stellenwert = (len-pos)! = (7-1)! = 6!
'  Permutation erzeugen aus Fakultätsbasierter Zahl:
'  ps: 0123456
'  -4  0123456	4
'  -0  012356	0
'  -4  12356 	6
'  -1  1235		2		
'  -0  135		1
'  -0  35		3
'  -0  5              5

Die 4.041.000 Anordnung ist also: "4062135"
P.S.: Details hier
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Algorithmen & Lehrreiches

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Lexikographisch aufsteigende Permutation eingegebener Worte p. specht Algorithmen & Lehrreiches 1 17.02.2011 04:23
Umlaute (ö, ä ,ü) darstellen Goebi Homepagegestaltung 3 19.01.2010 15:03
Kalenderzahlen darstellen pcmietze Office-Anwendungen 4 25.02.2009 09:46
CPU Auslastung darstellen recado Windows XP 2 23.04.2006 11:13
Webcam´s darstellen Susi Software - Allgemein 3 23.08.2004 22:23



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2