tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von deepthroat
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
354
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Tag zusammen,
    hat einer eine Idee wieviele Zahlen das sind ? ..

    Ich habe 100.000 Zahlen:
    von 0 bis 99.999 .

    Soweit klar.

    Jetzt muss ich jedoch noch dazu zählen, das jede Zahl folgendermaßen gezählt werden kann, hier ein Beispiel anhand der Zahl 6892:
    6892
    06892
    006892

    In diesem Beispiel würden bei der Zahl "6892" noch zwei weitere Zahlen dazugezählt werden müssen.
    Nun habe ich daher dann eine weitaus höhere Zahl als 100.000 .
    Aber wie errechne ich diese Zahl, wenn ich alle zusammenrechnen möchte?

    Kennt jemand dafür einen Algorythmus, einen Rechner, irgendetwas ?
    Sicherlich gibt es in der Mathematik für diese Rechnung einen Namen, ein Algorythmus. Aber ich kenne mich damit kein bisschen aus.
    Ich benötige nur das Ergebnis und vielleicht wenn Ihr wollt auch den Lösungsweg.

    Nein, dies ist keine Hausaufgabe, sondern benötige ich für ein Script, welche ich gerade in der Programmiersprache PureBASIC schreibe.

    MFG,
    Duellking
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ich kenne jetzt zwar PureBasic nur vom Hören aber diesen Code solltest du entsprechend umwandeln können.


    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    maximum = 100000
    anzahl = maximum
    laenge = Len(maximum)
     
    For a = 1 To maximum
        If laenge > Len(a) Then
            anzahl = anzahl + (laenge - Len(a))
        ElseIf laenge = Len(a) Then
            a = maximum
        End If
    Next a
     
    MsgBox anzahl
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ich habe es mal mit einem anderen Ansatz in PHP gelöst
    PHP-Code:
    $max 100000;
    //Array erstellen mit allen Zahlen von 0 bis 10'000
    $res $nums range(0$max);
    //Für jede Zahelnnlänge die Schleife durchgehen
    for($len 1$len <= strlen($max); $len++){
        
    //Mit jeder Zahl aus dem ürsprünglichen Range die Länge vergleichen
        
    foreach($nums as $num){
            if(
    strlen($num) < $len){
                
    //Den entsprechenden Wert mit 0 aufgefüllt erstellen
                
    $res[] = str_pad($num$len'0'STR_PAD_LEFT);
            }
        }
    }
    //Alle Einträge zählen
    echo count($res).'<br />'
    Ausgabe: 211111 (übrigens, genau [Anzahl Ziffern] mehr als die Lösung von tombe)

    Wenn ich das mit verschiedenen Zahlen teste:
    Code :
    1
    2
    3
    
    100'000 = 211'111
         20 =      31
        551 =     662

    Dann komme ich auf die folgende Logik
    Code :
    1
    2
    3
    4
    5
    
    [wert] + (Zahl aus 1er-Ziffern in der Länge von [wert])
     
    100'000 = 211'111 = 100'000 + 111'111
         20 =      31 = 20 + 11
        551 =     662 = 551 + 111
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    20 = 31
    Wenn 20 die größte Zahl ist, dann habe ich die Zahlen von 1 bis 20 (ergibt Anzahl = 20).
    Dann muss ich noch 01, 02, 03, 04, 05, 06, 07, 08, 09 dazu zählen was 9 Zahlen sind.

    Somit kommt doch als Gesamtzahl nicht 31 sondern 29 raus.

    Bei 551 erhalte ich als Ergebnis 659 (1 - 551 [ = 551 ], 01 - 09 [ = 9 ], 001 - 099 [ = 99 ])
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Bildungsvorschrift: max + Summe(i = 0, i <= floor(log10(max)), 10^i)

    @tombe: Du hast 00 vergessen. Außerdem kommt es drauf an ob man die obere Grenze mitzählt oder nicht (in die obere Formel i = 1 oder i = 0 setzen).

    Gruß
    Bratkartoffel bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Wieviele Interfaces sind genug
    Von kwyjibo_84 im Forum Coders Talk
    Antworten: 0
    Letzter Beitrag: 03.05.10, 20:47
  2. Wieviele Strings sind im Array?
    Von §Alptraum§ im Forum Java
    Antworten: 6
    Letzter Beitrag: 02.05.10, 13:58
  3. Logo-Erstellung - wieviele Entwürfe sind zumutbar?
    Von 10x10 im Forum Gründung & Gewerbe
    Antworten: 4
    Letzter Beitrag: 29.04.09, 05:39
  4. Listview - Wieviele Zeilen sind vorhanden?
    Von D@nger im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 11.04.06, 16:20
  5. Antworten: 6
    Letzter Beitrag: 31.10.04, 11:26