ALGORITHMEN - Teil XXIV: Eins zu Null für Binärcode!

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.

  • Abt. INHALTE DER BISHERIGEN ALGORITHMEN-KAPITEL I bis XXIII
    ===========================================
    Das elektronische Inhaltsverzeichnis der bisherigen ALGORITHMEN-Beiträge Kapitel 01 bis 23 wurde upgedated und steht wieder als ZIP-Datei zum Download zur Verfügung. Die ZIP enthält die kleine Datenbank mit Suchfunktion als EXE, sowie als anpassbares .PRF XProfan-11.2-Programm den sog. ALGORITHMENBEAMER, der nach Eingabe von Kapitelnummer_Beitragsnummer den Browser in die Nähe des entsprechenden Beitrages auf Paules PC Forum führt. Die Exe-Datei bitte unbedingt auf Viren prüfen, da meine Homepage nicht https-gesichert ist.

    Gruss

    P.S.: Eventuell müssen im ´Beamer.prf´ Pfad und Browser dem eigenen System angepasst werden.
    PPS.: Aus Gründen des Link-Updates trägt die ZIP-Datei noch einen alten Namen, die Inhalte sind aber neu.
  • Nachtrag: Rechengang zur Lösung von TR 54
    ==================================
    Spoiler anzeigen

    vAg ... Geschwindigkeit von Andy beim gehen
    vAr ... Geschwindigkeit von Andy beim radfahren
    vBg ... Geschwindigkeit von Bert beim gehen
    vBr ... Geschwindigkeit von Bert beim radfahren
    S ..... Gesamtstrecke
    Sx .... Strecke bis zum Rad-Wechsel
    T ..... Gesamtzeit, bis beide zugleich am Ziel eintreffen
    t1 .... Reisezeit bis zum Abstellen des Rades
    t2 .... Gehzeit bis zum Auffinden und Nutzen des Fahrrades
    x ..... Streckenverhältnis Radwechseldistanz zu Gesamtstrecke

    Sx = S * x = vAr * t1 = vBg * t2
    ==> vBr/vAg = t2/t1 = 10/5 = 2
    ==> t2 = 2 * t1

    S = vBr * t1 + vBg * (T - t1) = vAg * t2 + vAr * (T-t2)
    Wegen t2 = 2 * t1 gilt eingesetzt:
    vBr * t1 + vBg * (T - t1) = vAg * 2*t1 + vAr * (T-2*t1)
    8*t1 + 5*T - 5*t1 = 4*2*t1 + 10*T - 2*10*t1
    3*t1 + 5*T = 8*t1 + 10*T - 20*t1
    3*t1 + 5*T = 10*T - 12*t1
    3*t1 + 12*t1 = 10*T - 5*T
    15 * t1 = 5 * T
    T = 3*t1

    Eingesetzt in
    S = vBr * t1 + vBg*(T-t1) gibt:
    S = 8*t1 + 5*(T-t1)
    20 = 8*t1 + 5*(3*t1 - t1)
    20 = 8*t1 + 15*t1 - 5*t1
    20 = 18*t1
    t1 = 20/18 = 10/9 = 9/9 + 1/9 = 1_1/9 Stunden, d.h.:
    Fahrrad stehen lassen nach 1_1/9 Stunden!

    Falls Bert zuerst fährt: Wechseldistanz Sx=10*10/9=11_1/9 km
    Falls Andy zuerst fährt, wäre diese Distanz Sx=8*10/9=8.8888 km

    t2 = 2*t1 = 2_2/9 Stunden,
    Distanz zum Finden des Rades daher w.o. ermittelbar.

    Gesamtreisezeit T = 3 *t1 = 3_3/9 = 3_1/3 Stunden = 3h 20 min.
  • Ich denke mal 4 cm.

    Hab jetzt einfach mal ein Rechteck (11 x 7) gezeichnet und von
    der kleinsten Seite (7 cm) die Hälfte genommen. Das ist dann der
    Radius der Kreise. Einen Deckel von etwa 7 cm Durchmesser genommen
    und drauf gelegt. Paßt auch in etwa.

    Mein Deckel hat 7,4 cm (Pullmoll Hustenbonbons) :-)
  • Abt. ALR-03 ´Babbage´
    ================
    Als Pionier betreffend ´programmierbare´ Rechenmaschinen gilt Charles Babbagge mit seiner mechanischen "Difference Engine´ und späteren ´Analytical Engine´. In enem Briefwechsel mit anderen êGrößen siner Zeit (um 1837) erwähnt er die Möglichkeit, so vertrackte Probleme wie etwa "Wie lautet die kleinste Zahl, deren Quadrat auf ...269696 endet" herauszubekommen, also sehr spezifische Aufgabenstellungen zu lösen. Angeblich dachte er, die Lösung sei 99736, er war aber nicht sicher. Gesucht: Ein plausibler, nachvollziehbarer ´Algorithmus´ zur Lösung dieser Aufgabe.

    P.S.: War seine Vermutung richtig?

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

  • Lösungsvorschlag zu ALR-03
    ---------------------------

    Quellcode

    1. WindowTitle " Babbage-Problem: Algorithmus A"
    2. WindowStyle 24
    3. Set("decimals",0)
    4. Declare r!,s!,num&
    5. Repeat
    6. Case rnd()<0.0005
    7. Cls rgb(180+rnd(76),180+rnd(76),180+rnd(76))
    8. inc num&
    9. s! = Sqr(num&)
    10. r! = s! - int(s!/1000000)*1000000
    11. until r! = 269696
    12. Print "\n Dear Mr. Babbage, the smallest number";
    13. Print " whose square ends in 269696 is:"
    14. font 2:Print "\n ";num&
    15. font 0:Print "\n because ";num&;" squared = ";s!
    16. Sound 400,200:WaitInput 20000'ms
    17. End
    Alles anzeigen
  • Abt. ALR-04 ´Archimedes´
    ====================
    Archimedes von Syrakus (287 - 212 v.Chr.) hatte bereits die Faktorielle (aka "Fakultät") von 15 berechnet, also 15 * 14 * 13 * 12 * ... * 2 * 1 (wobei das " * 1 " natürlich nichts mehr ändert). Die 2. und die 10. Ziffer des Ergebnisses zusammengenommen ergeben sein Alter, als er dieses Ergebnis erzielte. In welchem Jahr war das also?
  • Lösungsvorschlag zu ALR-02
    ---------------------------
    Spoiler anzeigen


    A) Im ersten Teilausdruck: abs(Sqrt(17) - 5) ist Wurzel(17) kleiner als 5
    Der Term: Sqrt(17) - 5 ist daher negativ (Er wäre erst ab Wurzel(25) nicht-negativ).
    Das Vorzeichen des Term-Ergebnisses wird also umgedreht.

    B) Überlegung: Wollte man das Absolut-Nehmen weglassen, so müsste man ALLE Vorzeichen in diesem Term umdrehen, und das sähe dann so aus: -Sqrt(17) + 5. Nur so wäre das gleiche Teilergebnis zu erzielen.

    C) Die Absolut-Nehmen-Funktion hat auf den 2. Term: Sqrt(17) + 5 keine Wirkung, da das Ergebnis ohnehin positiv ist.

    D) Der angegebene Gesamtausdruck: abs(Sqrt(17) - 5) + abs(Sqrt(17) + 5)
    sieht wegen des negativen Vorzeichens des 1. Terms ohne Abs()-Funktionen also so aus:
    5 - Sqrt(17) + Sqrt(17) + 5

    E) Die Wurzel(17)-Funktionen subtrahieren sich also weg, und was bleibt ist: 5 + 5
    Das Ergebnis dieser Funktion ist also 5 + 5 = 10
    ----------------------------------------------

  • potztausend!
    Gehört die Woche mit dem 30.Dez 2019 nicht mehr zu den Wochen des Jahres 2019??
    Wegen der Werktagregelung der 1.Woche eines jeden neuen Jahres gehört die Woche zu 2020 ja, aber hat sie nicht zwei Identitäten? Eine aus 2019 und eine aus 2020?
  • Der Jahreswechsel ist etwas verzwickt geregelt:

    https://de.wikipedia.org/wiki/Woche schrieb:

    Die Kalenderwoche ist nach ISO 8601 so definiert:
    1. Kalenderwochen haben 7 Tage, beginnen an einem Montag und werden über das Jahr fortlaufend nummeriert.
    2. Die Kalenderwoche 1 eines Jahres ist diejenige, die den ersten Donnerstag enthält.
    Weitere Eigenschaften dieser Zählweise sind:
    • Jedes Jahr hat entweder 52 oder 53 Kalenderwochen.
    • Ein Jahr hat genau dann 53 Kalenderwochen, wenn es mit einem Donnerstag beginnt oder endet:
      • Ein Gemeinjahr mit 53 Wochen beginnt an einem Donnerstag und endet an einem Donnerstag.
      • Ein Schaltjahr mit 53 Wochen beginnt entweder an einem Mittwoch und endet an einem Donnerstag oder es beginnt an einem Donnerstag und endet an einem Freitag.
    • Der 29., 30. und 31. Dezember können schon zur Kalenderwoche 1 des Folgejahres gehören.
    • Der 1., 2. und 3. Januar können noch zu der letzten Kalenderwoche des Vorjahres gehören.
    • Der 4. Januar ist immer in Kalenderwoche 1.


    Gruß Volkmar
  • Gut gelöst, Volkmar! Ich hätte allerdings auch die Antwort 5 gelten lassen, je nachdem ob man "im Jahr 2020" entsprechend interpretiert. Aber es stimmt natürlich: Jede Kalenderwoche hat 7 Tage!

    P.S.: Nicht unwichtig zu wissen, wenn man Geschäfte mit dem Amerikanischen Kontinent macht: Die Kalenderwochen dort können +/- 1 unterschiedlich geregelt sein.
  • Lösungsprogramm zu ALR-05
    ----------------------------

    Quellcode

    1. Windowtitle "ALR-05 Löser"
    2. Cls:set("decimals",0):font 2
    3. declare z&,a&,b&,s!
    4. print "\n\n a a 4 a b "
    5. whileloop 0,9:A&=&Loop
    6. whileloop 0,5,5:B&=&Loop
    7. z&=val(Str$(a&)+Str$(a&)+"4"+Str$(a&)+Str$(b&))
    8. s!=z&/165
    9. if s!=int(s!)
    10. print "\n\n Die gesuchte Zahl ist ";z&,
    11. print " (Vielfaches von 165 * ";z&/165;")"
    12. print "\n Somit gilt: a=";a&,"b=";b&;"\n\n ";
    13. color 15,2:print " Antwort: a + b = ";a&+b&," "
    14. color 0,15
    15. endif
    16. endwhile
    17. endwhile
    18. print "\n ___"
    19. waitinput
    20. End
    Alles anzeigen
  • An manche Eigenheiten muss man sich einfach gewöhnen, es gilt also:
    (Die Datumsschreibung ist bei uns auch korrekt nach ISO denke ich:)

    Der 2019-12-30 Ist ein Tag des Jahres 2019.
    Die Woche, zu der der Tag gehört, ist eine des Jahres 2020!
  • Hmmm… Gibt es für ALR-05 wohl auch eine logische Lösung?

    Die Ganzzahl ´AA4AB´ist ohne Rest durch 165 teilbar.

    1. Damit kann B schon mal nur eine 0 oder 5 sein.
    2. Wie kommen wir an der drittletzten Stelle auf 4?
    Nun: 3 x 165 = 495. Damit wäre die drittletzte schon mal 4 - und A müsste 9 sein...

    Test: 99495 / 165 =

    hähä...

    603

    30 Sekunden... - ganz ohne Programmcode...
    ;-)

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