ALGORITHMEN - Teil XX: Zwischen Fersuch und Irrdumm

    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.

    • Die Antwort zu EaR 18 lautet also:

      365,2425 Tage im 400-Jahre-Zyklus ergeben als durschschnittliche Monatslänge
      genau dreissig Tage, zehn Stunden, 29 Minuten und sechs Sekunden.

      Dabei wurden die derzeit ca. alle 18 Monate notwendigen Schaltsekunden nicht berücksichtigt. Ebenso weist der an sich seit dem von "5.Okt.1582 Julianisch" auf "15. Oktober 1582 Gregorianisch" umgetauften Einführungstag *) geltende Kalender gegenüber der am Fixsternhimmel gemessenen Erdbewegung um die Sonne ein Defizit von 0,00031 Tage auf, also ca. alle 3225 Jahre fehlt ein voller Tag.

      So, dagegen führt man sich doch jung, oder? ;-)

      Gruss
      ___
      *) Die meisten Länder übernahmen diesen Kalender erst viel später, China gar erst 1949 !
    • Abt. EaR 19 ´Gorilla-Logik´
      ====================
      Ein Gorilla versteckt sich in einer von drei Kisten.
      Auf der ersten Kiste steht: „Der Gorilla ist in dieser Kiste“.
      Auf zweiten Kiiste steht: „Der Gorilla ist nicht in dieser Kiste.“.
      Auf der dritten Kiste steht „2 + 3 = 2 x 3“.
      Genau eine der drei Aufschriften ist wahr.
      In welcher Kiste befindet sich der Gorilla?
    • @oldi-40: Bravo, auch die Argumentation stimmt!

      Verifikation der Lösung zu EaR 21 mittels XProfan:

      Quellcode

      1. WindowTitle "Lösung zu EaR 21"
      2. WindowStyle 24:cls:print
      3. declare n&,a&,b&,c&, z&,zz&
      4. whileloop 1,9:a&=&Loop
      5. whileloop 0,9:b&=&Loop
      6. whileloop 0,9:c&=&Loop
      7. IF (a&*100+b&*10+c&)= 9*(a&*10+c&)
      8. inc n&
      9. font 0:print " ",n&;
      10. font 1:print ".: ",a&;
      11. font 0:print b&;
      12. font 1:print c&,"/ ";
      13. font 0:print "9";
      14. font 1:print " =",a&;c&
      15. print
      16. endif
      17. endwhile
      18. endwhile
      19. endwhile
      20. beep:font 1:print
      21. Repeat:zz&=15-z&:color z&,zz&:inc z&,8:z&=z& mod 16
      22. TBox %csrlin,%pos+3 - %csrlin+6,%pos+30,1
      23. Locate %csrlin+2,%pos+1
      24. print "Es gibt ";n&;" solche Zahlen!"
      25. locate %csrlin-4,%pos
      26. waitinput 750
      27. until %Key
      28. end
      Alles anzeigen
    • Auflösung von EaR 19
      ---------------------
      Spoiler anzeigen

      Der Gorilla sitzt in der Kiste mit der falschen Formel. Die einzig wahre Aufschrift auf einer Kiste ist die welche besagt: "Der Gorilla ist nicht in dieser Kiste."


      Lösung zu EaR 20
      -----------------
      Spoiler anzeigen

      Die Gesamtstrecke A -(via Kreuzung)- B ist 16:
      Die Gesamtstrecke B -(via Kreuzung)- C beträgt 20.
      Die Teilstrecke Kreuzung - B beträgt 9.
      ==> Die Entfernung von A zur Kreuzung beträgt 16 - 9 = 7.
      ==> Die Enrfernung von Kreuzung zu C beträgt 20 - 9 = 11.
      Gesucht ist die Gesamtstrecke A -(Kreuzung)- C.
      Diese beträgt daher 7 + 11 = 18.
      Antwort: Von Annas bis zu Christines Haus sind es 18 km.

    • Hallo p.specht,

      p. specht schrieb:

      Verifikation der Lösung zu EaR 21 mittels XProfan:
      Cool, Brute-Force für 4 simple Zahlen. :pfeifend:

      Es gibt doch maximal 9 Zahlen die in Frage kommen könnten.

      Die letzte Ziffer muss 5 sein. Die erste Ziffer liegt zwischen 1 und 9.
      Wenn die erste Ziffer (mal 10) plus die letzte Ziffer (5) , z.B. 95 sind, da reicht ein simpler Vergleich aus:

      Ist 9 * 95 (855) kleiner als die erste Ziffer mal Hundert (900) dann ist Feierabend. :-D

      Das Ganze in einer Schleife von 0 bis 9 geht sehr fix.

      Mein Code wäre viel kleiner ausgefallen.

      Tschau
    • Lösung zu EaR 22
      -----------------
      Spoiler anzeigen

      Sei Fläche A = Seite x * Seite y, Fläche B = y * z und Fläche C = z * x.
      Die Einheiten sind z.B. cm^2 = cm * cm.

      Gesucht war das Volumen V. Dieses ergibt sich zu V = x * y * z
      Die Einheit des Volumens ergibt sich also aus cm * cm * cm = cm^3.

      Voraussetzung, um eine stimmige Formel zu finden ist, daß die Einheiten auf beiden Seiten übereinstimmen. Wie bringen wir aber cm^2 und cm^3 auf eine Gemeinsamkeit? Anders gefragt: Wie oft muss man Flächen multiplizieren und wie oft Volumina, um eine gemeinsame Einheit zu erhalten? Die Anwort ist:
      [cm^2 * cm^2 * cm^2 = cm^6
      cm^3 * cm^3 = cm^6
      voila:
      A * B * C = V * V
      V^2 = A*B*C

      Die Formel lautet also V = Sqrt(A*B*C)

      Stichprobe: Sei x = 2, y = 3, z = 7
      Dann ist A = 2*3 = 6, B = 3 * 7 = 21, C = 7 * 2 = 14
      Volumen = 2 * 3 * 7 = 42 (Das soll also rauskommen!)
      Check: Sqrt(6 * 21 * 14) = Sqrt(1764) = 14. Passt!
    • Lösung zu EaR 23
      -----------------
      Spoiler anzeigen

      ´350 tatsächliche Sonnentage im Jahr´ bedeutet in einem Jahr wie 2019, das kein Schaltjahr ist, dass 365 - 350 = 15 Tage kein Sonnenschein passiert. Wenn man großes Pech hat (Frau Mayer geht davon aus), dann liegen diese "Schlechtwettertage" an jedem 2. Tag hintereinander, und zwar just in der gebuchten Urlaubszeit. Frau Mayer will 2 Sonnentage hintereinander absolut sicherstellen:

      Sei Sonne = 0, Nicht-Sonne = 1, dann könnte sich schlimmstenfalls folgendes Muster ergeben:
      0101010101 0101010101 0101010101 -
      doch nun sind die 15 Schlechtwettertage verbraucht, es müssen daher die gewünschten "mindestens zwei Sonnentage am Stück" folgen. Abzählen liefert eine erforderliche Mindest-Urlaubslänge von 30 + 2 = 32 Tagen.
    • Abt. Klassiker: Das N Damen-Problem
      ============================
      Und wieder eine Rosettacode-Aufgabe in XProfan gelöst ;-) !: Man stelle ein N x N Schachbrett so voller Damen, dass diese sich nicht gegenseitig bedrohen.
      Gruss

      Quellcode

      1. WindowTitle "N-Queens Problem (ab 11x11 viel Geduld nötig!)"
      2. 'http://rosettacode.org/wiki/N-queens_problem#BBC_BASIC
      3. WindowStyle 24
      4. declare sl$,i%,j%,tmp%,co%,num%,Size%,Cell%
      5. Proc Brett
      6. font 1
      7. declare i&
      8. whileloop Size%+4:i&=&Loop:whileloop Size%+4
      9. if between(i&,3,Size%+2) and between(&Loop,3,Size%+2)
      10. print if((i&+&Loop) mod 2," ",chr$(176));
      11. else :print "+";:endif:endwhile:print
      12. Endwhile
      13. EndProc
      14. Nochma:
      15. CLS:font 2
      16. print "\n Schachbrett-Breite = ";
      17. input sl$
      18. case val(sl$)<4:sl$=8
      19. Cls
      20. Size%=val(sl$)
      21. Cell%=32
      22. Brett
      23. locate Size%+6,3:Print " Rechnet ...";
      24. num%=FNqueens(Size%,Cell%)
      25. locate Size%+6,3
      26. font 2
      27. print " Für ein",size%," x ",size%,"Brett gibt es insgesamt "+STR$(num%)+" Lösungen!"
      28. beep
      29. WaitInput
      30. Goto "Nochma"
      31. Proc FNqueens :parameters n%,s%
      32. declare i%,j%,m%,p%,q%,r%,a%[n%],b%[n%],c%[4*n%-2]
      33. :whileloop n%:i%=&Loop:a%[i%]=i%:endwhile
      34. m%=0
      35. i%=1
      36. j%=0
      37. r%=2*n%-1
      38. REPEAT
      39. dec i%
      40. inc j%
      41. p%=0
      42. q%= -r%
      43. REPEAT
      44. inc i%
      45. c%[p%]=1
      46. c%[q%+r%]=1
      47. tmp%=a%[i%]:a%[i%]=a%[j%]:a%[j%]=tmp%
      48. p%=i%-a%[i%]+n%
      49. q%=i%+a%[i%]-1
      50. b%[i%]=j%
      51. j%=i%+1
      52. UNTIL (j%>n%) OR c%[p%] OR c%[q%+r%]
      53. IF c%[p%]=0
      54. IF c%[q%+r%]=0
      55. IF m%=0 '.te Lösung darstellen, =m% ... alle
      56. Whileloop n%:p%=&Loop
      57. LOCATE a%[p%]+2,p%+2
      58. PRINT "D";
      59. Endwhile
      60. ENDIF
      61. inc m%
      62. ENDIF
      63. ENDIF
      64. j%=b%[i%]
      65. WHILE (j%>=n%) AND (i%<>0)
      66. REPEAT
      67. tmp%=a%[i%]:a%[i%]=a%[j%]:a%[j%]=tmp%
      68. j%=j%-1
      69. UNTIL j%<i%
      70. dec i%
      71. p%=i%-a%[i%]+n%
      72. q%=i%+a%[i%]-1
      73. j%=b%[i%]
      74. c%[p%]=0
      75. c%[q%+r%]=0
      76. ENDWHILE
      77. UNTIL i%=0
      78. Return m%
      79. EndProc
      Alles anzeigen