ALGORITHMEN - Teil XVII: Im Gruselkeller der Hirnwindungen

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

    Information: Wir verlosen 9 Kinderbüchlein von Microsoft Mein Papa arbeitet bei Microsoft. Und ich darf mit!

    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.

    • Abt. Noch mehr Rätsel - NmR 9
      ====================
      Der Zauberer nahm ein Stück Papier und schnitt es in 10 Stücke. Dann nahm er eines dieser Stücke und schnitt es in weitere 10 Stücke. Diesen Vorgang wiederholte er weitere drei Mal. Wieviele Stücke lagen also vor ihm, bevor er mit seinem tollen Trick wieder ein ganzes Blatt Papier daraus machte?
    • Abt. Noch mehr Rätsel - NmR 10: Ziffernsumme 3
      ================================
      Wie viele positive ganze Zahlen < 1000 haben die Ziffernsumme 3 ?


      Abt. Noch mehr Rätsel - NmR 11: Wahrscheinlichkeit
      =================================
      Wie hoch ist die Wahrscheinlichkeit, daß eine gleichverteilte Zufallsvariable im Bereich [0..999] eine gerade Zahl > 399 ist ?


      Abt. Noch mehr Rätsel - NmR 12: Radfahrer
      ===========================
      Zwei Radfahrer fahren von A-Stadt um 13:10 Uhr ab. Der Erste fährt nach Norden mit 32 km/h, der Zweite nach Osten mit 24 km/h. Wann beträgt ihr Abstand voneinander genau 120 km ?

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

    • NmR 12: Radfahrer
      (120 / Sqrt(32^2 + 24^2)) = 3 Stunden später ?

      ------------------------------------
      Zu NmR 5 ´Dreieck´ (gelöst)
      finde ich das Folgende auch sehr anschaulich :


      1. alle Winkel als Vielfache von alpha
      alpha = alpha * 1
      beta = alpha / 3
      gamma = alpha * 2


      2. Faktoren ausklammern
      alpha * (1 + 1/3 + 2) = 180


      3. alpha ausrechnen
      alpha = 180 / (1 + 1/3 + 2)

      4. Beta und gamma ergeben sich nun aus Punkt 1
    • Abt. Noch mehr Rätsel - NmR 13: Delirium Clemens
      ================================
      Clemens, schwerer Alkoholiker, sieht oft bis zu 100 Mäuse, die jeweils entweder weiß oder grau sind.
      Mindestens eine Maus von diesen 100 ist grau. Seine Erfahrung lehrt Clemens: Erscheinen ihm sieben Mäuse, so sind davon immer mindestens vier weiß! Wie viele graue Mäuse kann Josef daher höchstens sehen?

      Abt. NmR 14: Opas Uhr
      ==============
      Opas alte Zeigeruhr geht pro Stunde um 15 Sekunden zu langsam. Heute hat er sie richtig eingestellt - in wieviel Tagen zeigt sie (ohne neuerliche Korrektur) wiedereinmal die richtige Zeit an?

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

    • Abt. ´Lustige´ Internetseiten
      ==================
      nuclearsecrecy.com: Hier kann man eine beliebige Stadt per Atombombe wählbarer Stärke pulverisieren und anschließen die Statistik (Einheit ´Kilotote´) auswerten. Setzt man statt dessen zwei kleinere Bomben nebeneinander, entsteht die ´Bonus kill´Ellipse. Ein lustiges Spiel für die ganze Familie...

      Outlast: In einer (nicht ganz) verlassenen psychiatrischen Anstalt sollen Bauarbeiter eine Wand einreissen. Anschließend müssen sie mit den doch noch verbliebenen gefährlichen Irren fertigwerden. Das besonders blutige Gemetzel ist ab 12 ein gutes Lehrstück für´s Berfufsleben ...


      Tipps und Tricks für die biologische Kriegführung: In diesem Blog wird u.a. beschrieben, wie man jeden Nachbarschaftsstreit ein für allemal gewinnt. Dabei helfen so manche unschuldig wirkende Gartenkräutlein. ´Fun pur´, wenn sich Onkel Albert von nebenan die Seele aus dem Leib kotzt.


      Muttis Träume weden wahr: Schönheitswettbewerbe für Siebenjährige (Youtube). Warum nur in den USA. Sind wir in der EU etwa nicht dekadent genug?

      Grusel...

      P.S.: Die Meldung über den süssen Welpen, dem ein Unmensch Beine und Schwanz abgehackt hat, ist ein Lehrstück, wie man in Wahlkampfzeiten die überwältigende Mehrheit der Wähler hinter sich bringt. Es sei denn, es kommt heraus, dass gerade das der Zweck war...

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

    • p. specht schrieb:

      Muttis Träume weden wahr: Schönheitswettbewerbe für Siebenjährige (Youtube). Warum nur in den USA. Sind wir in der EU etwa nicht dekadent genug?
      Das gibt's doch in den USA schon lange....
      Einmal (1996) wurde so eine kleine Schönheitskönigin (6 Jahre alt) Opfer eines Mörders. Der Fall ist übrigens immer noch ungeklärt.

      en.m.wikipedia.org/wiki/Death_of_JonBenét_Ramsey
      Grüßle,

      Claudia
    • Auflösung NmR 10: Natürliche Zahlen < 1000 mit Ziffernsumme 3
      --------------------------------------------------------------------------
      Spoiler anzeigen
      3,12,21,111,30,102,120,201,210,300 = 10 Stück; Nachweis mit Programm:

      Quellcode

      1. 'NmR 10
      2. 'Wie viele positive ganze Zahlen < 1000 haben die Ziffernsumme 3 ?
      3. declare i&,j&,k&, z&
      4. Whileloop 0,9:i&=&loop
      5. Whileloop 0,9:j&=&loop
      6. Whileloop 0,9:k&=&loop
      7. if (i&+j&+k&)=3
      8. print i&,j&,k&
      9. inc z&
      10. endif
      11. endwhile
      12. endwhile
      13. endwhile
      14. print "\n Anzahl:",z&
      15. waitinput
      Alles anzeigen



      Lösung NmR 11:
      -------------------
      P(Rnd(1000)>=400) = 60%, davon die Hälfte der Zahlen gerade ==> 30%
      Ok, war euch zu leicht ...
    • Abt. Noch mehr Rätsel - NmR 15 ´Kinder´
      ==========================
      Diese Mutti ist Mathelehrerin. Das merkt man spätestens, wenn man sie fragt, wieviele Kinder sie hat:
      "Das Produkt der Alter meiner Kinder ist 1664. Mein Jünster ist halb so alt wie mein Ältester. Nun kannst Du dir es ja leicht ausreichnen!". Kann ich?
    • NmR 7

      Da hatte ich mich wohl irgendwo in der Mengenleere verloren...

      Spoiler anzeigen

      Quellcode

      1. WindowTitle "NmR 7"
      2. WindowStyle 24
      3. CLS
      4. declare Anzahl_Zahlen%, Start_Zahl%, Summe%, lauf%, Loesung%
      5. Whileloop 0,100
      6. Anzahl_Zahlen% = 1
      7. Start_Zahl% = &loop
      8. lauf% = Start_Zahl%
      9. Summe% = Start_Zahl%
      10. While Summe% < 100
      11. Inc Anzahl_Zahlen%
      12. Inc lauf%
      13. Summe% = Summe% + lauf%
      14. EndWhile
      15. If (Summe% = 100) and (Anzahl_Zahlen% >= 2)
      16. Inc Loesung%
      17. Print " ";Loesung%;". Lösung: Die Summe der ";Anzahl_Zahlen%;" Elemente von ";Start_Zahl%;"..";lauf%;" = 100"
      18. Else
      19. 'Print " Die Summe der ";Anzahl_Zahlen%;" Elemente von ";Start_Zahl%;"..";lauf%;" = ";Summe%
      20. EndIf
      21. EndWhile
      22. print "\n Antwort: Es gibt ",Loesung%," derartige Menge(n)."
      23. waitinput
      24. end
      Alles anzeigen



      NmR 9

      Spoiler anzeigen

      Papier 1 -> 10
      eines der Stücke -> 10 + 9 = 19
      1. Wiederholung -> 10 + 19 = 29
      2. Wiederholung -> 10 + 29 = 39
      3. Wiederholung -> 10 + 39 = 49


      NmR 10

      Wie viele positive ganze Zahlen < 1000 haben die Ziffernsumme 3 ?

      Spoiler anzeigen


      Quellcode

      1. WindowTitle "NmR 10"
      2. WindowStyle 24
      3. CLS
      4. ' Wie viele positive ganze Zahlen < 1000 haben die Ziffernsumme 3 ?
      5. Declare reine%, gesamt%
      6. Proc Ziffernsumme
      7. Parameters zahl_ori%
      8. Declare zahl%
      9. zahl% = zahl_ori%
      10. 'print ":";zahl%
      11. Declare summe%
      12. summe% = 0
      13. While zahl% > 0
      14. summe% = summe% + (zahl% mod 10)
      15. zahl% = zahl% / 10
      16. EndWhile
      17. 'print ":";summe%;"\n"
      18. if summe% = 3
      19. Print "reine Summe aus "; zahl_ori%
      20. inc reine%
      21. inc gesamt%
      22. elseif summe% > 9
      23. While summe% > 9
      24. zahl% = summe%
      25. summe% = 0
      26. While zahl% > 0
      27. summe% = summe% + (zahl% mod 10)
      28. zahl% = zahl% / 10
      29. EndWhile
      30. EndWhile
      31. if summe% = 3
      32. Print "Summe aus "; zahl_ori%
      33. inc gesamt%
      34. endif
      35. endif
      36. EndProc
      37. WhileLoop 1,999
      38. Ziffernsumme &loop
      39. EndWhile
      40. Print "Wie viele positive ganze Zahlen < 1000 haben die Ziffernsumme 3 ?"
      41. If reine% = gesamt%
      42. Print "Es sind ";reine%;" positive ganze Zahlen."
      43. else
      44. Print "Es sind ";reine%;" reine positive ganze Zahlen."
      45. Print "Es sind insgesamt ";gesamt%;" positive ganze Zahlen."
      46. endIf
      47. waitinput
      48. end
      Alles anzeigen
      10 reine
      111 insgesamt


      NmR 14

      Wollte ich mit der dt() berechnen, aber denkste...

      Spoiler anzeigen

      Also habe ich die 4 Tage so ermittelt (am Ende der dt-Fehlversuch)

      Quellcode

      1. 'Abt. NmR 14: Opas Uhr
      2. '==============
      3. 'Opas alte Zeigeruhr geht pro Stunde um 15 Sekunden zu langsam. Heute hat er sie richtig eingestellt - in wieviel Tagen zeigt sie (ohne neuerliche Korrektur) wiedereinmal die richtige Zeit an?
      4. 'Hoffentlich hat er sie um 0 Uhr richtig eingestellt, sonst kann die Anzahl der Tage um 1 höher sein.
      5. WindowTitle "NmR 14"
      6. WindowStyle 24
      7. CLS
      8. '60 * 60 = 3600
      9. '45 * 60 = 2700
      10. '86400
      11. Declare TickTack_Opa%, TickTack_Normal%
      12. Declare Tage_Opa%, Tage_Normal%
      13. Repeat
      14. inc TickTack_Normal%, 3600
      15. inc TickTack_Opa%, 2700
      16. Until (TickTack_Opa% mod 86400) = (TickTack_Normal% mod 86400)
      17. print "Es sind ";(TickTack_Normal% / 86400);" Tage vergangen"
      18. waitkey
      19. end
      20. /*
      21. REM Keine Ahnung, warum dies nicht funktioniert...
      22. Declare TickTack_Opa!, TickTack_Normal!
      23. Declare Tage_Opa%, Tage_Normal%
      24. Tage_Opa% = 0
      25. Tage_Normal% = 0
      26. TickTack_Normal! = dt("SetTime","00:00:00",!now)
      27. TickTack_Opa! = dt("SetTime","00:00:00",!now)
      28. locate 1,1
      29. Print "Normal: ";dt("GetTime",2),Tage_Normal%
      30. Print " Opa: ";dt("GetTime",2),Tage_Opa%
      31. sleep 5000
      32. Repeat
      33. dt("incHour", TickTack_Normal!, 1)
      34. dt("incHour", TickTack_Opa!, 1)
      35. dt("incSec", TickTack_Opa!, -15)
      36. locate 1,1
      37. Print "Normal: ";dt("GetTime",2),Tage_Normal%
      38. Print " Opa: ";dt("GetTime",2),Tage_Opa%
      39. sleep 5000
      40. Case dt("GetHour", TickTack_Normal!) = 0 : Inc Tage_Normal%
      41. Case dt("GetHour", TickTack_Opa!) = 0 : Inc Tage_Opa%
      42. Until TickTack_Opa! = TickTack_Normal!
      43. Print "Nach ";Tage_Normal%;" Tagen passiert das."
      44. Print "Bei Opa sind dann erst ";Tage_Opa%;" Tage (nach der Uhr) vergangen."
      45. waitinput
      46. end
      47. */
      Alles anzeigen
      Programmieren, das spannendste Detektivspiel der Welt.
    • NmR 14
      Spoiler anzeigen

      Jetzt sind es mit der dt() Funktionalität auf einmal 240 Tage.

      Quellcode

      1. 'Abt. NmR 14: Opas Uhr
      2. '==============
      3. 'Opas alte Zeigeruhr geht pro Stunde um 15 Sekunden zu langsam. Heute hat er sie richtig eingestellt - in wieviel Tagen zeigt sie (ohne neuerliche Korrektur) wiedereinmal die richtige Zeit an?
      4. 'Hoffentlich hat er sie um 0 Uhr richtig eingestellt, sonst kann die Anzahl der Tage um 1 höher sein.
      5. 'Auf einmal sind es 240 Tage.
      6. WindowTitle "NmR 14"
      7. WindowStyle 24
      8. CLS
      9. set("decimals",0)
      10. Declare TickTack_Opa!, TickTack_Normal!
      11. Declare Tage_Opa%, Tage_Normal%, h%
      12. Declare Swi_Opa%, Swi_Normal%
      13. Declare h1%,m1%,s1%,ms1%
      14. Declare h2%,m2%,s2%,ms2%
      15. Tage_Opa% = 0
      16. Tage_Normal% = 0
      17. TickTack_Normal! = dt("SetTime",h1%,m1%,s1%,ms1%,!now)
      18. TickTack_Opa! = dt("SetTime",h2%,m2%,s2%,ms2%,!now)
      19. locate 1,1
      20. Print "Normal: ";dt("GetTime",2,TickTack_Normal!),Tage_Normal%
      21. Print " Opa: ";dt("GetTime",2,TickTack_Opa!),Tage_Opa%
      22. sleep 1000
      23. Repeat
      24. inc h%
      25. locate 5,1
      26. print format$("%2d",h1%), format$("%2d",m1%), format$("%2d",s1%)
      27. print format$("%2d",h2%), format$("%2d",m2%), format$("%2d",s2%)
      28. inc h1%,1
      29. inc s2%, 3600 - 15
      30. inc m2%, (s2% / 60)
      31. s2% = (s2% mod 60)
      32. inc h2%, (m2% / 60)
      33. m2% = (m2% mod 60)
      34. Case h1% > 23 : dec h1%,24
      35. Case h2% > 23 : dec h2%,24
      36. Case dt("GetHour", TickTack_Normal!) = 23 : Inc Swi_Normal%
      37. TickTack_Normal! = dt("SetTime",h1%,m1%,s1%,ms1%,!now)
      38. Case Swi_Normal% and (dt("GetHour", TickTack_Normal!) = 0) : Inc Tage_Normal%
      39. Case Swi_Normal% and (dt("GetHour", TickTack_Normal!) = 0) : Swi_Normal% = 0
      40. Case dt("GetHour", TickTack_Opa!) = 23 : Inc Swi_Opa%
      41. TickTack_Opa! = dt("SetTime",h2%,m2%,s2%,ms2%,!now)
      42. Case Swi_Opa% and (dt("GetHour", TickTack_Opa!) = 0) : Inc Tage_Opa%
      43. Case Swi_Opa% and (dt("GetHour", TickTack_Opa!) = 0) : Swi_Opa% = 0
      44. locate 1,1
      45. Print "Normal: ";dt("GetTime",2,TickTack_Normal!),Tage_Normal%,h%
      46. Print " Opa: ";dt("GetTime",2,TickTack_Opa!),Tage_Opa%
      47. 'sleep 1000
      48. Until TickTack_Opa! = TickTack_Normal!
      49. Print "Nach ";Tage_Normal%;" Tagen passiert das."
      50. Print "Bei Opa sind dann erst ";Tage_Opa%;" Tage (nach der Uhr) vergangen."
      51. waitinput
      52. end
      Alles anzeigen
      ...und offensichtlich auch nach "Adam Riese"

      Quellcode

      1. cls
      2. print "berechne...\n"
      3. set("decimals",0)
      4. declare o&, n&
      5. repeat
      6. n& = n& + 3600
      7. o& = o& + (3600 - 15)
      8. until (o& mod 86400) = (n& mod 86400)
      9. Print " Tage:",(n& / 86400)
      10. Print "bei Opa:",(o& / 86400)
      11. waitinput
      12. end
      Alles anzeigen
      Programmieren, das spannendste Detektivspiel der Welt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Michael Wodrich ()

    • @Michael Wodrich: ... und das stimmt auch!
      Offizielle Lösung zu NmR 14:
      Spoiler anzeigen
      1 Stunde = 60 min = 3600 sek (- 15 sek)
      1 Tag = 24 * 3600 = 86400 sek (- 24 * 15 = - 360 sec = 6 min/Tag)

      Die Zeiger stehen aber z.B. auf 6, egal ob früh oder spät, also ist die Einheit 12 Stunden,
      d.h., nach 43200 Sekunden ist gleicher Zeigerstand!
      43200 Sekunden sind 720 Minuten = 12 Stunden, da geht die Uhr 12 * 15 s
      = 3 Minuten zu spät.

      Wir wollen aber, daß sie 720 Minuten zu spät geht!
      Dazu brauchen wir also 720 / 3 Tage = 240 Tage = rund 8 Monate
      Man soll Großvater-Uhren eben nicht unterschätzen!


      P.S.: Das mit den Papierstreifen ist tatsächlich unklar formulliert.

      PPS: Bei NmR 15 (Kinderzahl) muss man einige Annahmen treffen, z.B. dass keine Zwillinge dabei sind und keine 1-jährigen (Weil das Produkt mit 1 nicht eindeutig ist).

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

    • Die Erklärung ist :???: :0angst: , da sehe ich nur die Zahlen und denke :hmmm: - hm, müsste passen. Sorry :still:

      Spoiler anzeigen


      Quellcode

      1. cls
      2. print "berechne...\n"
      3. set("decimals",0)
      4. declare o&, n&
      5. repeat
      6. n& = n& + 3600
      7. o& = o& + (3600 - 15)
      8. until (o& mod 43200) = (n& mod 43200)
      9. Print " Tage:",(n& / 86400)
      10. Print "bei Opa:",(o& / 86400)
      11. waitinput
      12. end
      Alles anzeigen
      und wenn man mit Zeigern statt mit Digitalzahlen arbeitet, dann habe ich mich um 120 Tage verhauen.
      Programmieren, das spannendste Detektivspiel der Welt.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Michael Wodrich ()

    • Abt. Noch mehr Rätsel - NmR 16 ´Noch kleiner?´
      ===============================
      Aus den Zahlen -9,-7,-5, 2, 4 und 6 sind zwei so auszuwählen, dass ihr Produkt die kleinstmögliche Zahl ergibt. Was kann als kleinstes Ergebnis herauskommen?


      @Michael Wodrich: Probieren wir es einfach aus! :pfeifend:

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

    • Abt. Noch mehr Rätsel - NmR 17 ´Hirschkäfer Heinrich´
      =================================
      Hirschkäfer Heinrich verputzt einen Zuckerwürfel normalerweise in 10 Stunden. Doch da kommen Max und Moritz, seine verfressenen Freunde dazu, die doppelt so schnell futtern. Jetzt futtern also alle drei - wie lange dauert es jetzt, einen Zuckerwürfel zu verdrücken?
    • Lösung zu NmR 13: Delirium Clemens
      --------------------------------------
      Wenn Herr Josef Clemens IMMER unter den 7 Mäusen mindestens 4 weiße sieht, dann können insgesamt nicht mehr als 3 graue Mäuse in seiner Phantasie herumkrabbeln. Jaja, der Alo-ol, was dea aus Mänschän machen kann hicks PROST!


      @Verzweifelte200: Genau, die Lösung zu NmR 16 ist -9*6 = -54.

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

    • Abt. Noch mehr Rätsel - NmR 18 ´Hoteliers´
      =============================
      "Wir hatten in den drei Sommermonaten 88% Auslastung, im Rest des Jahres nur 44%" schnappt der Konkurrent im Mittagsrestaurant vom Nebentisch auf. "Wui, die haben 132 % Auslastung übers Jahr!" meint er. Stimmt das?

      Abt. NmR 19: ´Wasser´
      ================
      Wenn Wasser gefriert, nimmt sein Volumen um 1/11 zu. Wenn es wieder schmilzt, um wieviel nimmt sein Volumen dann ab?

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