ALGORITHMEN - Teil XXVI: Bitte anschnallen!

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Lösung zu BAR-21
      -------------------
      Spoiler anzeigen
      SUMME( a .. b, Step) = (b+a)/2 * (b-a+Step)/Step

      Anmerkung: Solange b-a ein ganzzahliges Vielfaches von Step ist, gleicht die Formel dem Ergebnis einer Whileloop- oder FOR-Schleife mit den Parametern a,b,Step, in der die Loopvariable aufsummiert wird. Sollte mit b nicht genau das Ende eines Schleifendurchgangs gegeben sein, wird im Gegensatz zur "quantisierten" Ausgabe der Schleife der letzte Durchgang zusätzlich anteilig verrechnet.

      Lösung zu BAR-22
      -------------------
      Spoiler anzeigen
      PRODUKT( a .. b ) = b ! / (a-1) ! . mit x ! = Faktorielle(x) = 1*2*3*..*x

      P.S.: Für PRODUKT( 1 .. b, Step=2 ) und b = ungerade gibt es die folgende Formel:
      PRODUKT( 1 .. b, Step=2 ) = b ! / ( 2^((b-1)/2) * ((b-1)/2) !
      PPS.: Eine allgemeine Formel für PRODUKT( a..b, Step) habe ich nicht gefunden. Wer will, kann sich ja daran versuchen!


      Abt. BAR-23 ´Cleverer Bauhelfer´
      ======================
      Bauhelfer Franz soll 70 Ziegel vom Lager holen. Er weiss, dass er im Laufe dieser Tätigkeit immer müder wird, und beabsichtigt deshalb, pro Fuhre mit der Schubkarre immer zwei Ziegel weniger einzuladen. Frage: Mit wieviel Ziegeln muss er beginnen, mit wievielen endet die letzte Fuhre und wieviele Fuhren muss er machen? (Hinweis: Ganzzahligkeitsbedingungen!)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von p. specht ()

    • Zu BAR-23:

      Meine Meinung. ;-)

      Die erste Ladung beginnt mit 35 Ziegeln.
      Die zweite Ladung sind dann 33 Ziegeln.
      Die dritte Ladung sind die restlichen 2 Ziegel.

      Es geht natürlich schneller:
      Die erste Ladung beginnt mit 36 Ziegeln.
      Die zweite Ladung sind dann 34 Ziegel.

      Man könnte auch alle 70 Ziegel auf die Schubkarre laden. 8-)

      Aber die Lösung könnte auch sein:
      1. Fuhre 26 Ziegel
      2. Fuhre 24 Ziegel
      3. Fuhre 20 Ziegel

      Fragen über Fragen. :wacko:

      Tschau
    • Abt. BAR-23 ´Cleverer Bauhelfer´
      Es fehlen die Informationen, wie kräftig dat Franzl und wie stabil seine Karre is… :lol:

      Die Lösung lässt sich natürlich nur von hinten erschließen:

      2
      4
      6
      8
      10
      12
      14
      16

      wären 72, also muss die 2 weg...

      Antwort: Er beginnt mit 16, die letzte Fuhre hat 4 und es sind 7 Fuhren...
      der Schlaffi...

      :thumbsup:

      Rabe
      Computer setzen logisches Denken fort!
      Unlogisches auch....
    • Sehr richtig! Danke für die gültige Antwort, Herr Rätselrabe!
      Spoiler anzeigen
      70 in einer einzigen Fuhre, da kännte er wohl nur Legosteine transportieren. Wenn der Franzl eher mittelstark ist, könnte er mit 7 Fuhren arbeiten, aber auch mit fünf Fuhren auskommen.
      Wie komme ich drauf: 70 = 14 * 5 = Mittelwert 14 * 5 Fuhren.

      Fünf ist ungerade, also gibt es eine "mittlere Fuhre", nämlich die 3. Fuhre. Die hat dann den Mittelwert zu transportieren, den Faktor 14. Vorher ist der Franzl noch bei Puste, also 2 mehr und dafür nacher 2 weniger: 16 14 12. Das ganze nochmal, und wir sind auch genau bei 70:


      Praktikable Lösungen i.S.d. Ganzzahligkeit sind also:
      18 + 16 + 14 + 12 + 10 = 70, und
      16 + 14 + 12 + 10 + 8 + 6 + 4 = 70 :thumbsup:
    • Zur Lösung von BAR-23 ´Cleverer Bauhelfer´ habe ich meine Bedenken. ;-)

      p. specht schrieb:

      70 in einer einzigen Fuhre, da kännte er wohl nur Legosteine transportieren.
      Guggst Du mal nach "Strongman", die schaffen das locker. :-D
      -> de.wikipedia.org/wiki/Strongman

      ->

      Da die Frage zum Bauhelfer Franz nicht genau formuliert wurde, gibt es n Lösungen.

      Ich frage mich, wieviele Lösungen gibt es?

      70 mal mit der Schubkarre hin und her fahren fällt ja flach.
      Eine Fahrt mit 70 Ziegeln ist ja theoretisch möglich.

      Tschau
    • Lösung zu BAR-24
      -----------------------

      Quellcode

      1. WindowTitle "BAR-24 Formel-Checker"
      2. CLS:Font 2:Declare sum!,a&,b&,step&
      3. a&=11111:b&=12343:step&=4
      4. sum!=0
      5. WhileLoop a&,b&,Step&
      6. sum!=sum!+&Loop
      7. EndWhile
      8. Print "\n Aufummierter Output:",sum!
      9. WaitInput 2000
      10. Print "\n Resttest: (b-a) mod step =",(b&-a&) Mod step&
      11. Print "\n Formeloutput:", (b&+a&)/2 * (b&-a&+Step&)/Step&
      12. WaitInput
      Alles anzeigen
    • Lösung von BAR-25
      -------------------------
      Spoiler anzeigen
      Da die Frage zum Bauhelfer Franz nicht genau formuliert wurde, gibt es n Lösungen.
      70 = ...
      70 * 1 + 0 {1 Fuhre von genau 70 Ziegeln, aber Franz wollte das ja nicht}
      35 * 2 + 0 {36+34: Die 1. Lösung}
      23 * 3 + 1 {25+23+22: -2 nicht immer realisierbar}
      17 * 4 + 2 {20+18+16+16: -2 nicht immer realisierbar}
      14 * 5 + 0 {18+16+14+12+10: Die 2. Lösung}
      11 * 6 + 4 {17+15+13+11+9+5: -2 nicht immer realisierbar}
      10 * 7 + 0 {16+14+12+10+8+6+4: Die 3. Lösung}
      8 * 8 + 6 {15+13+12+10+8+6+4+2: -2 nicht immer realisierbar}
      7 * 10 + 0 {15+12+10+8+6+4+4+4+3+2: -2 nicht immer realisierbar}
      ... {Restliche: : -2 nicht realisierbar}

      n = 3 ... {Eigentlich 4, weil: Franz kann in seinem Probemonat jederzeit kündigen = 0 Fuhren}.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Abt. BAR-26 ´Parken mal anders´
      ========================
      Ein öffentlicher Park in X-Stadt hat 7 Zugänge (Ein-und-Ausgänge). Der sparsame Dagobert will heuer keine Urlaubsreise machen, sondern sich dieses Parks vor seiner Haustür erfreuen. Dazu möchte er den Park täglich einmal besuchen, aber dabei stets eine andere Kombination von Eingang (nicht den vom Vortag) und einem dazu vom Eingang und vom Vortag unterschiedlichen Parkausgang benutzen. Für wieviele Urlaubstage reichen die örtlichen Gegebenheiten?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Neu

      Abt. BAR-26 ´Parken mal anders´
      ========================

      Am ersten Tag hat er freie Auswahl für den Eingang
      7 Optionen für Eingang (E)
      6 Optionen für Ausgang (A)

      ab dem 2. Tag hat er
      6 Optionen für E (7 - den vom Vortag)
      und 5 Optionen für A ( 7 -E -den A vom Vortag)

      und das gilt so für alle weiteren Tage bis St. Nimmerlein…

      Frage: Für wieviele Urlaubstage reichen die örtlichen Gegebenheiten?
      Antwort: für unendlich viele.

      Rabe
      Computer setzen logisches Denken fort!
      Unlogisches auch....
    • Neu

      Entschuldigung, die obige Lösung zu "BAR 27" ist eigentlich die von BAR-26. ´Parken´. Ich habs offenbar nicht so mit Zahlen - Sorry nochmal!

      @ravenheart: Naja, eine der Konfigurationen MUSS sich ja irgendwann wiederholen. Oder Dagobert ist einfach sehr vergesslich, dann reichen die 7 Ein-Ausgänge natürlich für sehr lange :P .


      Hier nun mein Lösungsprogramm für die tatsächliche LÖSUNG zu BAR-27 (Achtung, nur Interpreter!):

      Quellcode

      1. WindowTitle "BAR-28-Löser":CLS:font 2
      2. $IFDEF COMPILER
      3. Print "\n\n Der verwendete EXECUTE Befehl ":sound 2000,80
      4. print " klappt leider nur im INTEPRETER!":waitinput 20000:end
      5. ProgEnd
      6. $ENDIF
      7. Declare x&,ex$,s$,z$[1],a&,b&,c&,d&,e&,f&,g&,h&,i&,j&,k&
      8. z$[0]="+":z$[1]="8"
      9. Whileloop 0,1:a&=&Loop:Whileloop 0,1:b&=&Loop:Whileloop 0,1:c&=&Loop
      10. Whileloop 0,1:d&=&Loop:Whileloop 0,1:e&=&Loop:Whileloop 0,1:f&=&Loop
      11. Whileloop 0,1:g&=&Loop:Whileloop 0,1:h&=&Loop:Whileloop 0,1:i&=&Loop
      12. Whileloop 0,1:j&=&Loop:Whileloop 0,1:k&=&Loop
      13. s$=z$[a&]+z$[b&]+z$[c&]+z$[d&]+z$[e&]+z$[f&]+z$[g&]+z$[h&]+z$[i&]+z$[j&]+z$[k&]+"8"
      14. ex$="x&="+s$:execute ex$
      15. locate %csrlin-1,1:print " ";
      16. locate %csrlin-1,1:print x&,"=",s$
      17. 'waitinput 20000
      18. if x&=1000:print "\n Lösung: ";s$:sound 1000,80:Waitinput 20000:endif
      19. Endwhile:Endwhile
      20. Endwhile:Endwhile:Endwhile
      21. Endwhile:Endwhile:Endwhile
      22. Endwhile:Endwhile:Endwhile
      23. print "\n --- Ende erreicht ---"
      24. waitinput
      Alles anzeigen
      Gruss

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()