Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Formel für Maximale Zahlenkombinationen

Diskussion: Formel für Maximale Zahlenkombinationen im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Hallo! Ich suche nun schon einige Tage im web nach einer Lösung meines Problems: Ich habe die Zahlen 1 ...

Antwort
Alt 17.04.06, 21:18   #1 (permalink)
 
Registriert seit: 17.04.06
powerfisch Leistung: Facit NTK
Likes: 0
Smile Formel für Maximale Zahlenkombinationen

Anzeige

Hallo!

Ich suche nun schon einige Tage im web nach einer Lösung meines Problems:

Ich habe die Zahlen 1 bis 10 (1,2,3,4,5,6,7,8,9,10), nun möchte ich herausfinden wie viele Möglichkeiten es gibt Kombinationen zu bilden bei denen von einer zur nächsten Ziffer die max Differenz 4 nicht überschritten wird
z.B.:
1,4,8,10,9,7,6,5,3,2
oder
1,3,6,10,9,7,4,8,5,2
oder
1,3,2,4,6,9,10,8,7,5
oder
1,4,6,8,7,10,9,5,3,2

usw...

wichtig ist das wenn man bei der letzten Zahl angekommen ist, wieder von vorn anfangen kann und die max Differenz von 4 nicht überschritten wird
z.B.:
1,3,2,4,6,9,10,8,7,5

währe dann 5,1,3,2,4,6,9,10,8,7

Wie müsste dazu die Formel aussehen?
Vielen Dank schon mal!

powerfisch

powerfisch ist offline   Mit Zitat antworten
Alt 17.04.06, 22:41   #2 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

ich versteh dich jetzt nicht ganz aber ich fang einfach mal an

wie lang ist deine zahlenkette ? exakt 10 stellen ?

für die erste stelle ist jede zahl von 1-10 möglich(also 10 zahlen): fallunterscheidung:

1.1 für ziffer 5 oder 6 gibt es für die folgestelle 9 möglichkeiten (4 drunter, 4 drüber, exakt die gleiche zahl)
1.2 für ziffer 4 und 7 gibt es 8 nachfolgestelle (3 bzw 4 drunter, 4 bzw 3 drüber, exakt die gleiche zahl) - rest analog
1.3 ziffer 3 und 8: 7 folgemöglichkeiten
1.4 ziffer 2 und 9: 6 folgemöglichkeiten
1.5 ziffer1 und 10: 5 folgemöglichkeiten

(das ganze läst sich auch als negativ betrachten - also 10^10 / x, wobei x = nicht mögliche folgekombinationen).

so, das war jetzt bruteforcing

/edit: dürfen sich die zahlen widerholen ? kumpel hat mich grade drauf hingewiesen
t3rr0r.bYt3 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.04.06, 05:44   #3 (permalink)
Themenstarter
 
Registriert seit: 17.04.06
powerfisch Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von t3rr0r.bYt3
wie lang ist deine zahlenkette ? exakt 10 stellen ?
Ja genau 10 stellen.

Zitat:
Original von t3rr0r.bYt3
/edit: dürfen sich die zahlen widerholen ? kumpel hat mich grade drauf hingewiesen
hmmm, verstehe die Frage nicht richtig Kombinationen dürfen sich nicht wiederholen jedoch wird es vorkommen das sich Zahlen an den einzelnen Positionen wiederholen.

Ich habe hier schon ne Endlosschleife mit vb gabastelt nur leider möchte ich Igendwie Überprüfen ob alle Kombinationen schon gefunden wurden und deshalb hatte ich nach einer Berechnungsmöglichkleit gesucht.

#offtopic#
Ich bin nun bis Freitag unterwegs also nicht wundern wenn ich hir erst mal nicht mehr Antworte.

powerfisch
powerfisch ist offline   Mit Zitat antworten
Alt 18.04.06, 10:34   #4 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

wenn die Anzahl der Zahlen n ist rechnest du n! (Ziehen ohne Zurücklegen, dh. wenn eine Zahl schon mal dran war, wird sie in der selben Kombination nicht mehr vorkommen). Wenn sich die Zahlen wiederholendürfen, dann n^n (1. Stelle hat z.B. 10 Mgl., die 2. wieder, die 3. wieder 10 usw).

mfg
Serow
Serow ist offline   Mit Zitat antworten
Alt 18.04.06, 11:58   #5 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

@serow: das beachtet aber die vorraussetzung mit der maximalen differenz von 4 nicht. das sind simple maximal-kombinationen. wenn man leichet(er) ausrechnen kann, wieviele "illegale" kombinationen es gibt (also wo die differenz >4), dann teilt man 10! durch die anzahl der illegalen kombinationen.

@powerfisch

sry, ich war wohl gestern echt zu müde, das zu checken. als ich mir das im bett durch den kopf gingen ließ, hab ichs dann schon ein weniger mehr geplant..
ich hab das gestern ein wenig überflogen, aber für den fall, dass sich die zahlen innerhalb einer kette wiederholen dürfen.

poste mal bitte deinen vb-code, das wäre sehr nützlich.
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 22.04.06, 08:55   #6 (permalink)
Themenstarter
 
Registriert seit: 17.04.06
powerfisch Leistung: Facit NTK
Likes: 0
Standard

Ok, hier erst mal der Code der mit die Kombinationen generiert, möchte aber gleich dazu sagen das ich Proggen nicht gelernt habe.

Code:
schondrin = False
maxsprung = 4

uhngültig:
'###- Hier habe ich die Durchläufe erst einmal begrenzt -###'
If d > 100000 Then GoTo ende
d = d + 1

'###- Festlegen das jede Kombination mit 1 beginnt -###'
ergebnis1 = 1

nochmal:
    zufalszahl = Int((10 - 1 + 1) * Rnd + 1)

'###- Überprüfen ob die Zufalszahl bereits in der Kombination enthalten ist -###'    
    zahlreihe = Split(ergebnis1, ",")
    For a = 0 To UBound(zahlreihe)
        If Int(zahlreihe(a)) = zufalszahl Then
            schondrin = True
            Exit For
        Else
            schondrin = False
        End If
    Next a
'###- Wenn die Zahl noch nicht enthalten ist der Kombination hinzufügen -###'
    If schondrin = False Then
        ergebnis1 = ergebnis1 & "," & zufalszahl
    End If

'###- Überprüfen ob die Kombination schon alle Zahlen enhält -###'
    If UBound(zahlreihe) + 1 >= 10 Then
        GoTo weiter
    Else
        GoTo nochmal
    End If
weiter:

'###- Überprüfen ob der Sprung von max. 4 gegeben ist -###'
    For b = 0 To UBound(zahlreihe)
        If b = UBound(zahlreihe) Then
            If Not Abs(zahlreihe(0) - zahlreihe(b)) <= maxsprung Then GoTo uhngültig
            Exit For
        End If
        If Not Abs(zahlreihe(b) - zahlreihe(b + 1)) <= maxsprung Then GoTo uhngültig
    Next b

'###- Überprüfen ob die Kombination schon einmal ermittelt wurde -###' 
    If ergebnis2 Like "*" & ergebnis1 & "*" Then
        GoTo uhngültig
    Else
        If ergebnis2 = "" Then
            ergebnis2 = ergebnis2 & ergebnis1
        Else
            ergebnis2 = ergebnis2 & ";" & ergebnis1
        End If
        GoTo uhngültig
    End If

ende:

loesungen = Split(ergebnis2, ";")
Text6.Text = UBound(loesungen) + 1
Text6.Refresh
For a = 0 To UBound(loesungen)
    List1.AddItem loesungen(a)
Next a
Ich hoffe es ist ersichtlich wie es abläuft.

powerfisch

Keiner ne Idee ???
powerfisch ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Formel für Maximale Zahlenkombinationen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht 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 sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mögliche Zahlenkombinationen Schnappes Cryptography & Encryption 39 Gestern 23:25
Mathematische Formel in C Chickiwara Code Kitchen 5 25.10.07 20:46
E-Mail Maximale Zeichen Länge? ba2 Internet Allgemein 4 01.05.06 21:34
xala.de - Pattern Generator - Zahlenkombinationen l-phoenizier Cryptography & Encryption 4 12.03.06 21:05
Maximale Kabellänge bei einem RJ-11 Kabel smitti Network · LAN, WAN, Firewalls 5 20.08.05 19:49


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61