ALGORITHMEN - Teil XIV: Jetzt noch irrer!

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.

  • Das ist insoferne richtig, als Heinz mit 2 Euro genug Kleingeld für seinen Einkauf dabei hätte.
    Die Frage sollte präziser gestellt werden - Danke für deinen Hinweis!
    Gruss

    P.S.: Fehlerbildvergleicher: Update mit weiterem Beispiel (Link im Beitrag weiter oben)

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

  • Genauere Lösung zu NR.14
    Spoiler anzeigen

    Lösung Neues Rätsel 14:
    -------------------------
    Kunde A:
    2 + 1 Äpfel = 3 Äpfel
    3 Äpfel = 3 €
    1 Apfel = 1 Eur
    -----------------
    Kunde B:
    1 Apfel + 2 Bananen = 1.80 Euro
    also 1 Euro + 2 Bananen = 1.80 Euro
    also 2 Bananen = 1.80 Euro - 1 Euro = 0.80 Euro
    1 Banane = 0.40 Eur
    --------------------
    Kunde C: Umtausch
    1 Banane minus 1 Kokosnuss = 20 EuroCent
    0.40 Euro - 1 Kokosnuss = 0.20 Eur | + 1 Kokosnuss
    0.40 Euro = 0.20 Euro + 1 Kokosnuss | - 0.20 Eur
    0.40 Euro - 0.20 Euro = 1 Kokosnuss
    0.20 Euro = 1 Kokosnuss
    1 Kokosnuss = 0.20 Eur
    ----------------------
    Heinz will kaufen:
    1 Kokosnuss + 1 Apfel + 1 Banane = ?
    0,20 Eur + 1 Eur + 0.40 Eur
    Daher reichen im Prinzip 1,60 Eur aus.
  • Abt. Quantencomputer online
    ===================
    Quantencomputer sind nun Realität. Fa. IBM hat eine sehr einfache Version davon nun zum experimentieren online gestellt. Das via Cloud verfügbare System besteht aus 5 Josephson-Kontakten, die auf 0.15 Kelvin nahe dem absoluten Nullpunkt der Temperatur heruntergekühlt werden und mit Hochfrequenzimpulsen präpariert und ausgelesen werden können. Dadurch können interagierrende Atombindungen "nachvollzogen" werden, ohne daß für solche Berechnungen Zeit vergeht (Einsteins "Instantante Fernwirkung" bzw. "spooky action at a distance"). Hier das Link zu diesem Online-Quantencomputer und den entsprechenden Tutorials.

    Gruss

    P.S.: Mit 5 qbits können 2^5 = 32 Zustände gleichzeitig auf Optimalität berechnet werden. Reale Systeme, die auf dem von IBM verwendeten Prinzip basieren, stehen derzeit bei 16 qbits (= 65.536 Zustände gleichzeitig), während Konkurrent D-Wave das Prinzip des Quanten-Halleffektes nutzt und beii 256 bzw. 512, demnächst 1024 qbit steht, diie allerdings statistisch ausgelesen werden müssen, was wiederum Zeit kostet. Spätestens dann aber sind auf Faktoriesierung beruhende Cryptographiesysteme leicht entschlüsselbar, und bitcoin-Farmen zur Generierung neuer elektronischer Währungen werden obsolet, weil dann elektronisches Geld wie Heu erzeugt werden kann...
  • @Heinz: Die Antwort war jedenfalls nicht falsch. Aber auch meine Preisangaben waren nicht realistisch: In den letzten 5 Jahren sind Lebensmittelpreise durchschnittlich um 26% gestiegen, die Butter bei uns in Österreich zuletzt um 43% - Und da will man uns eine Inflationsrate von 2 % weismachen ...
  • Abt. Neue Rätselecke Nr.15: "Wieviele Stufen?"
    ==============================
    Karl möchte die Anzahl der sichtbaren Stufen einer herablaufenden Rolltreppe wissen.
    - Dazu läuft er die Rolltreppe entgegen der Fahrtrichtung hoch und zählt dabei 90 Stufen.
    - Dann läuft er die Treppe im gleichen Tempo wieder hinunter und zählt 60 Stufen.
    Wie viele Stufen sind sichtbar, wenn die Rolltreppe sich nicht bewegt?
    Gruss

    P.S.: Kleiner Hinweis: Es sind nicht 75.
  • Lösung zu NR 15:
    Spoiler anzeigen
    Lösung zum Neuen Rätsel Nr. 15:

    Die Rolltreppe habe die Länge "L sichtbare Stufen".
    Die Rolltreppe bewegt sich mit der Geschwindigkeit Vr.
    Karl bewegt sich relativ zur Rolltreppe mit der Laufgeschwindigkeit Vk.
    Beim Hinauflaufen subtrahiert sich die Geschwindigkeit der Rolltreppe
    von der des Läufers: 1) L = 90 * (Vk - Vr)
    Beim Hinunternlaufen addieren sich die Geschwindigkeiten:
    2) L = 60 * (Vk + Vr)

    Durch Gleichsetzen von 1) = 2) ergibt sich das Geschwindigkeitsverhältnis:
    90 * Vk - 90 * Vr = 60 * Vk + 60 * Vr , bzw.
    90 * Vk - 60 * Vk = 90 * Vr + 60 * Vr , d.h.
    30 * Vk = 150 * Vr , und somit:
    Vk = 150 / 30 * Vr = 15/3 * Vr = 5 * Vr, anders ausgedrückt:
    Vk/Vr=5 (Karl läuft 5 mal schneller als die Rolltreppe).

    Dieses Zwischenergebnis setzen wir nun in eine der Ansatzgleichungen ein:
    ad 1) L = 90 * (Vk - 1/5 Vk) = 90 * 4/5 = 360/5 = 72 Stufen; Probe:
    ad 2) L = 60 * (Vk + 1/5 Vk) ) 60 * 6/5 = 360/5 = 72 Stufen - q.e.d.

    Oder: "Physikalische Methode" mit dem Harmonischen Mittel über die 2 Laufstrecken:
    cls: print "\n L =",2/(1/90 + 1/60):waitinput
  • Abt. Neue Rätselecke Nr. 17: "Glatt bezahlen können"
    =======================================
    Wie viele Geldstücke muss man mindestens bei sich führen, damit man alle Beträge zwischen 0,01 € und 2,00 € genau passend zahlen kann? Es gibt bekanntlich 1, 2, 5, 10, 20 und 50-Cent-Münzen sowie 1- und 2-Euro.
    Gruss

    Spoiler anzeigen
    Lösung: Man benötigt in diesem Fall genau 9 Münzen:
    Um die Einerstelle des Cent-Betrages bezahlen zu können: 1ct, 2ct, 2ct, 5ct (Summe: 10 Cent)
    Um die Zehnerstelle des Cent-Betrages bezahlen zu können: 10ct, 20ct, 20ct, 50ct (Laufende Summe: 1,10 Eur)
    Um jeden Betrag zwischen 1 Eur und 2 Eur bezahlen zu können, fehlt noch eine 1-Euro-Münze (Gesamtsumme 2.10 Eur)
    Das Prinzip lässt sich entsprechend fortsetzen.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von p. specht () aus folgendem Grund: Programmierfehler (Urgs)

  • Abt. Minimale Geld-Stückelung beim Bezahlen
    ================================
    (Testprogramm, u.a. zum obigen Rätsel)

    Quellcode

    1. WindowTitle upper$("Stückelung")
    2. WindowStyle 24:Window 0,0-%maxx,%maxy:font 2:Cls
    3. declare m&[20],g&,Betrag& , zeig&
    4. zeig&=1
    5. m&[0]=1:m&[1]=2:m&[2]=2:m&[3]=5:m&[4]=10:m&[5]=20:m&[6]=20:
    6. m&[7]=50:m&[8]=100:m&[9]=200:m&[10]=200:m&[11]=500
    7. m&[12]=1000:m&[13]=2000:m&[14]=2000:m&[15]=5000
    8. m&[16]=10000:m&[17]=20000:m&[18]=20000:m&[19]=50000:m&[20]=50000
    9. whileloop 1,161111,1:Betrag&=&Loop
    10. g&=sizeof(m&[])-1
    11. if zeig&
    12. print "\n ";format$("###,##0.00 Eur",Betrag&/100);" = ";
    13. else
    14. if rnd()<0.0005:cls:print "\n ";Betrag&
    15. endif
    16. endif
    17. GibHeraus(g&,Betrag&)
    18. endwhile
    19. beep:waitinput:end
    20. proc GibHeraus :parameters g&,Rest&
    21. if Rest&>161110:print " *** TEST OVERFLOW ERROR ***";
    22. sound 100,70:waitinput 6000:return
    23. endif
    24. declare flg&
    25. while g&>=0
    26. if (Rest&-m&[g&])>=0
    27. case flg&:print " + ";
    28. if zeig&:print format$("#0.00",m&[g&]/100);:flg&=1:endif
    29. Rest&=Rest&-m&[g&]
    30. endif
    31. dec g&
    32. endwhile
    33. endproc
    Alles anzeigen
  • Abt. Was ist Mathematik eigentlich?
    ===========================
    Hier diskutiert ein Mathematiker die Frage, ob es sich bei Mathe um eine Naturwissenschaft, Kulturwissenschaft, Ingenieurwissenschaft, Geisteswissenschaft, Formalwissenschaft oder was eigentlich handelt. Ich dachte eigentlich immer eine Geisteswissenschaft!? Pustekuchen ... Youtube-Link (deutsch)
    Gruss
  • Abt. Was bin ich?
    ===========
    Wusstet Ihr, daß ein durchschnittlicher Mensch aus rund 500.000.000.000.000.000.000.000.000 Atomen besteht? Aufgeschlüsselt nach Atomarten sieht die Verteilung in etwa so aus:

    Element, Anteil Atome
    -------------------------
    Wasserstoff (H) 63 %
    Sauerstoff (O) 25.5 %
    Kohlenstoff (C) 9.5 %
    Stickstoff (N) 1.4 %
    Calcium 0.31 %
    Chlor (Cl) 1 %
    Phosphor (P) 1 %
    Kalium (K) 0.06 %
    Schwefel (S) 0.05 %
    Natrium (Na) 0.03 %
    Magnesium (Mg) 0.01 %
    ...
    Wir sind also im Wesentlichen Kohlenstoff-organisierte Wassersäcke *).
    Gruss

    P.S.: Details hier!
    ________
    *) Bei manchen Zeitgenossen hatte ich diese Vermutung schon...
  • Abt. Problem bei Sortierter Gridbox mit Mehrfachauswahl
    ==========================================
    Es scheint ein Problem zu geben, in sortierten Gridboxen mit Mehrfachauswahl die selektierte Zeile anzuzeigen, wenn sie nicht im Scrollfenster der Gridbox liegt. Horst Horn hatte das in diesem Board angesprochen. Für eine XProfan-11-taugliche Variante habe ich Lösungsvorschläge von Jörg Sellmeyer, Jörg Greve und Heinz Brill kombiniert - und alles wäre gut, wenn bei Typ 3-Gridbox ("Sortierte Mehrfachauswahl") nicht gleich 2 Elemente hintereinander blau hinterlegt dargestellt würden.

    Hat jemand eine Idee,, warum das passiert?
    SetCurSel-Befehlsersatz für Xprofan-11 klappt nicht? Es gibt nämlich Beispiele, wo das in Version 11.2a sehr wohl klappt. Frosch zu doof?

    Gruss

    Quellcode

    1. WindowTitle "ScrollMarkShow_SortedGrid"
    2. Window 0,0-600,400
    3. Declare gb%, btn1%, sp$
    4. sp$ = "Nummer;0;60;Name;0;100;"
    5. btn1% = Create("Button", %HWnd, "DATEN", 10, 10, 60, 25)
    6. gb% = Create("Gridbox", %HWnd, sp$, 3, 10, 50, 180, 150)
    7. FuelleGB()
    8. UserMessages $0010
    9. WhileNot %Umessage = $0010
    10. WaitInput
    11. If Clicked(btn1%)
    12. ClearList gb%
    13. FuelleGB()
    14. EndIf
    15. EndWhile
    16. Proc FuelleGB
    17. Declare z&
    18. z& = 0
    19. WhileLoop 0, 150
    20. LvDeSelect(gb%, -1) ' alle deselektieren
    21. z& = AddString(gb%, Str$(&LOOP) + "|" + ".Eintrag")
    22. LvSelect(gb%, z&)
    23. LvSetCurSel gb%, z&
    24. EndWhile
    25. EndProc
    26. Proc LvDeSelect
    27. Parameters Lv&,Item&
    28. Declare s#
    29. Dim s#,1024
    30. Long s#,12=0
    31. Long s#,16= $0002 | $0001 ' ~LVIS_SELECTED | ~LVIS_FOCUSED
    32. SendMessage(Lv&, $1000 + 43,Item&,s#) ' Lv&,~LVM_SETITEMSTATE = ~LVM_FIRST + 43
    33. Dispose s#
    34. EndProc
    35. Proc LvSelect
    36. Parameters Lv&,Item&
    37. Declare s#
    38. Dim s#,1024
    39. Long s#,12=$2
    40. Long s#,16= $0002 | $0001 ' ~LVIS_SELECTED | ~LVIS_FOCUSED
    41. SendMessage(Lv&, $1000 + 43,Item&,s#) '~LVM_SETITEMSTATE = ~LVM_FIRST + 43
    42. SendMessage(lv&, $1000 + 60,item&,0) '~LVM_SETHOTITEM = ~LVM_FIRST + 60
    43. SendMessage(lv&, $1000 + 19,Item&,0) '~LVM_ENSUREVISIBLE = ~LVM_FIRST + 19
    44. Dispose s#
    45. Endproc
    46. Proc LVSetCurSel :Parameters LV&,pos%
    47. Selectstring(LV&,pos%-1,Getstring$(LV&,pos%))
    48. SendMessage(LV&,4115,pos%,0)
    49. Endproc
    50. End
    Alles anzeigen

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