Ergebnis 1 bis 9 von 9

Programm für Aufgabe?

  1. #1
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    Wie viele fünfstellige Zahlen können mit den Ziffern 2,4,5,6,9 geschrieben werden, die durch 11 teilbar sind ?
    Könnte man dafür ein Programm schreiben? Wenn nicht wäre es toll, wenn ihr tortzdem die Antwort geben könntet.
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  2. #2
    Ehrengarde Avatar von Ewige Finsternis
    Registriert seit
    Sep 2008
    Beiträge
    2.659
    Ja, könnte man.

    Meine erste Idee dazu wäre, in einem Array alle kombinationen aufzustellen und das Array dann durchzugehen und jedes Mal wenn die Zahl durch 11 teilbar ist eine Variable hochzuzählen. Machbar ist das ganze auf jeden Fall.


    Ewige Finsternis ist offline

  3. #3
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    Könntest du das mal hier rein posten, ich persönlich habe relativ wenig ahnung davon...
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  4. #4
    Ehrengarde Avatar von Ewige Finsternis
    Registriert seit
    Sep 2008
    Beiträge
    2.659
    Zitat Zitat von Xerotar Beitrag anzeigen
    Könntest du das mal hier rein posten, ich persönlich habe relativ wenig ahnung davon...
    Erstmal interessiert es mich wofür du das brauchst. Du gibts nämlich verdächtig wenig Infos, wenn es dir hier wirklich um das Programmieren geht, dann solltest du nämlich zumindest erwähnen in was für einer Sprache du das ganze schreiben willst.


    Ewige Finsternis ist offline

  5. #5
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    Ist für eine Matheaufgabe, ich bzw wir hatten vor das in Dev CC zu schreiben.

    Wir hatten als Ergebnis 139 raus, allerdings haben wir das schriftlich gerechnet... und das Ergebnis ist falsch, sind es sogar mit unserem Mathelehrer durchgegangen...
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  6. #6
    Ehrengarde Avatar von Ewige Finsternis
    Registriert seit
    Sep 2008
    Beiträge
    2.659
    Patentlösung hab ich dazu momentan keine, ist eine interessante Aufgabe.

    Frage dazu: Muss in jeder Kombination jede Zahl einmal vorkommen, oder heißt es lediglich das keine anderen Zahlen vorkommen dürfen?


    Ewige Finsternis ist offline

  7. #7
    Deus Avatar von Daepilin
    Registriert seit
    Oct 2006
    Ort
    NRW
    Beiträge
    11.619
    wäre auch meine frage, sonst hätte ich schon ne idee...

    Daepilin ist offline

  8. #8
    Held Avatar von Satans Krümelmonster
    Registriert seit
    Aug 2007
    Beiträge
    5.797
    Also ich hab das mal mit PHP ausrechnen lassen.

    Wenn sich die Zahlen wiederholen dürfen, dann gibt es 270 Stück, die sich durch 11 teilen lassen. Nämlich folgende:
    Spoiler:(zum lesen bitte Text markieren)
    22242, 22264, 22429, 22462, 22495, 22594, 22649, 22924, 22946, 24222, 24244, 24255, 24266, 24299, 24442, 24464, 24552, 24596, 24629, 24662, 24695, 24926, 24959, 24992, 25245, 25256, 25454, 25465, 25542, 25564, 25652, 25696, 25949, 26224, 26246, 26422, 26444, 26455, 26466, 26499, 26554, 26565, 26642, 26664, 26994, 29249, 29425, 29469, 29524, 29546, 29645, 29656, 29942, 29964, 42229, 42262, 42295, 42449, 42526, 42559, 42592, 42625, 42669, 42922, 42944, 42955, 42966, 42999, 44242, 44264, 44429, 44462, 44495, 44594, 44649, 44924, 44946, 45254, 45265, 45452, 45496, 45529, 45562, 45595, 45694, 45925, 45969, 46222, 46244, 46255, 46266, 46299, 46442, 46464, 46552, 46596, 46629, 46662, 46695, 46926, 46959, 46992, 49225, 49269, 49445, 49456, 49522, 49544, 49555, 49566, 49599, 49654, 49665, 49929, 49962, 49995, 52294, 52426, 52459, 52492, 52525, 52569, 52624, 52646, 52954, 52965, 54252, 54296, 54494, 54549, 54626, 54659, 54692, 54945, 54956, 55242, 55264, 55429, 55462, 55495, 55594, 55649, 55924, 55946, 56254, 56265, 56452, 56496, 56529, 56562, 56595, 56694, 56925, 56969, 59224, 59246, 59422, 59444, 59455, 59466, 59499, 59554, 59565, 59642, 59664, 59994, 62249, 62425, 62469, 62524, 62546, 62645, 62656, 62942, 62964, 64229, 64262, 64295, 64449, 64526, 64559, 64592, 64625, 64669, 64922, 64944, 64955, 64966, 64999, 65252, 65296, 65494, 65549, 65626, 65659, 65692, 65945, 65956, 66242, 66264, 66429, 66462, 66495, 66594, 66649, 66924, 66946, 69245, 69256, 69454, 69465, 69542, 69564, 69652, 69696, 69949, 92224, 92246, 92422, 92444, 92455, 92466, 92499, 92554, 92565, 92642, 92664, 92994, 94226, 94259, 94292, 94424, 94446, 94545, 94556, 94622, 94644, 94655, 94666, 94699, 94952, 94996, 95249, 95425, 95469, 95524, 95546, 95645, 95656, 95942, 95964, 96294, 96426, 96459, 96492, 96525, 96569, 96624, 96646, 96954, 96965, 99242, 99264, 99429, 99462, 99495, 99594, 99649, 99924, 99946


    Quelltext:
    Code:
    <?php
    
    $numbers = array(2, 4, 5, 6, 9);
    
    function getNumberOfFactors($factor, $curNum = 0, $iteration = 0){
        global $numbers;
        $factors = 0;
        
        $iteration++;
        
        for($i = 0, $max = count($numbers); $i < $max; $i++){
            $number = $curNum*10 + $numbers[$i];
            if($iteration == $max){
                if($number%$factor == 0){
                    $factors++;
                }
            } else {
                $factors += getNumberOfFactors($factor, $number, $iteration);
            }
        }
        
        return $factors;
    }
    
    echo getNumberOfFactors(11);
    Wenn sich die Zahlen nicht wiederholen dürfen, dann gibt es 12 Stück, die sich durch 11 teilen lassen. Nämlich folgende:

    Spoiler:(zum lesen bitte Text markieren)
    24596, 24695, 29546, 29645, 54296, 54692, 59246, 59642, 64295, 64592, 69245, 69542


    Die Modifikationen am Quelltext sind nur geringfügig:

    Code:
    <?php
    
    $numbers = array(2, 4, 5, 6, 9);
    
    function getNumberOfFactors($factor, $numbers, $curNum = 0){
        $factors = 0;
        
        for($i = 0, $max = count($numbers); $i < $max; $i++){
            $number = $curNum*10 + $numbers[$i];
            if($max == 1){
                if($number%$factor == 0){
                    $factors++;
                }
            } else {
                $factors += getNumberOfFactors($factor, array_merge(array_slice($numbers, 0, $i), array_slice($numbers, $i+1)), $number);
            }
        }
        
        return $factors;
    }
    
    echo getNumberOfFactors(11, $numbers);
    Natürlich alles unter dem Vorbehalt, dass das Script auch alle möglichen Zahlen korrekt berechnet…
    Satans Krümelmonster ist offline

  9. #9
    Ehrengarde Avatar von Ewige Finsternis
    Registriert seit
    Sep 2008
    Beiträge
    2.659
    Ich mach das hier mal zu, da es das ganze hier auch nochmal gibt ist das etwas arg redundant.

    Um das ganze festzuhalten: Hier hats eine schöne Lösung vom Krümelmonster in PHP für beide möglichen Fälle, im Thread in der Plauderecke hats das ganze in Java und JavaScript.


    Ewige Finsternis ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •