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.

    • Abt. EaR 30 ´Schallplatte´
      ===================
      Eine Vinyl-Langspiel-Schallplatte mit einem Durchmesser von 30,48 cm hat einen Rand von 8.5 mm und endet in etwa bei einem Radius von 4.5 cm vom Mittelpunkt aus gemessem (Wen´s interessiert: Das Mittelloch hat einen Durchmesser von 7 mm), Frage: Wie lang ist die für Musik genutzte Rille, wenn auf einen cm ca. 60 Rillen kommen?
    • Lösung zu EaR 30
      ----------------
      Spoiler anzeigen

      Genutzter Aussenradius = 30.48/2 - 0.85 = ra = 14.39 cm
      Aussenumfang = 2*ra*Pi() = 2 * 14.39 * 3.141592654 = 90.45 cm

      Innenradius (Auslaufbeginn) = ri = 4.5 cm
      Innenumfang = 2*ri*Pi() = 2 * 4.5 * 3.141592654 = 28.27 cm

      Nutzbereichstrecke = ra - ri = 9.89 cm
      Mit 60 Rillen pro cm gibt das eine Windungszahl
      von 9.89 * 60 = 593 Windungen

      Der mittlere Umfang einer Windung errechnet sich zu
      (Aussenumfang + Innenumfang)/2 = (90.45 + 28.27) / 2 =
      = 118.72 / 2 = 59.36 cm.

      Da wir 593 Windungen haben, wären das 35200 cm =
      Antwort: 352 m Rille.

      Plausibilitätstest: Eine Plattenseite spielt bei 33 1/3 Upm ca 20 min.
      In 20 min müssten also 593 Umdrehungen stattfinden:
      20 * 33.333333333 = 666 Windungen: Die Größenordnung stimmt also!

      Die Länge der Rille einer LP-Seite beträgt ca. 350 m.
    • Abt. Interessante Links
      ==================
      Wenn man, wie ich, die letzten 10 Jahre unter einem Stein gelebt hat (In-Anspruch-nahme durch Berufsleben, Ängste geschürt duch Horrorberichte z.B. über Internet-Banking, NSA-Tracking etc.), dann ist man dankbar für eine Liste aktuell populärer SOCIAL MEDIA SERVICES samt Beschreibung, was man damit eigentlich machen kann - bzw. wozu es eigentlich gut (?) ist. Dazu kommt allerdingns die offene Frage, welche Sprachkenntnisse man zum Mitmachen besitzen sollte, bzw. ob es gute Übersetzungsalgorithmen dazu gibt, falls man sich auf´s Lesen beschränken will. Mir fehlen auch noch Infos über Special Interest Services wie z.B. XING oder die Fotocommunity etc. Sollte eigentlich sogar einen eigenen Thread rechtfertigen ...
      Gruss
    • Abt. Mathematische Rekorde
      =====================
      Es gibt einen neuen Rekord bei der Multiplikativen Persistenz (="Beständigkeit") zu vermelden:
      Die Rekordzahl lauet: 277.777.788.888.899 mit Persistenzzahl 11. Quelle: Youtube

      Erläuterung an Hand eines Beispiels:
      5428 => 5 * 4 * 2 * 8 = 320 => 3*2*0 = 0
      Mit anderen Worten: 5428 hat die Persistenz 2
      (2 Stufen bis das Ziffernprodukt einstellig wird).

      Anm.: Sucht man hier neue Rekorde, also möglichst große Zahlen, dann muss man sich vor sogenannten Doom-Konfigurationen (Doomsday, "Das Ende ist nahe") hüten, das sind z.B. Ziffernfolgen wie 5 * 2, die jedenfalls Null erzeugen.
      Gruss

      P.S.: Anbei ein Prüfprogramm dazu. Eingabetaste allein testet die neue Rekordzahl.

      Brainfuck-Quellcode

      1. WindowTitle upper$("Multiplikative Persistenz einer Zahl testen")
      2. WindowStyle 24
      3. Cls
      4. font 2
      5. Declare z$,p!,n&
      6. rept:
      7. Cls
      8. Print "\n Zu testende pos. Ganzzahl (<=16677181699666569):",
      9. '(p! darf hier max. 9007199254740992 werden!)
      10. input z$
      11. if right$(mkstr$("0",16)+z$,17)>"16677181699666569"
      12. print "\n Zu groß!":beep
      13. waitinput
      14. goto "rept"
      15. endif
      16. if z$=""
      17. z$=277777788888899
      18. print "\n Bisheriger Rekord (Feb. 2019):"
      19. endif
      20. print
      21. n&=0
      22. lup:
      23. print " ";z$," (";n&;")"
      24. case val(z$)<10:goto "skip"
      25. p!=1
      26. whileloop len(z$)
      27. p!=p!*val(mid$(z$,&Loop,1))
      28. endwhile
      29. z$=format$("################0",p!)
      30. inc n&
      31. goto "lup"
      32. skip:
      33. print "\n Persistenz = ";n&
      34. waitinput
      35. GOTO "rept"
      36. '----------
      Alles anzeigen
    • Abt. EaR 31 ´Ramanujans Near-miss´
      ============================
      Es ist bewiesen, dass X^N + Y^N = Z^N für ganze Zahlen X,Y,Z > 0 und N>2 keine Lösung haben kann. Im ´Vergessenen Tagebuch´des berühmten indischen Mathematikers Ramanujan findete sich ein Beihnahe-Gegenbeispiel:

      65601^3+67402^3 = 83802^3 ???

      Frage: Um wieviel differieren die beiden "Gleichungs"-Seiten?

      P.S.: Nachtrag zum Beitrag vorher: Multiplikative Persistenz wird in der Fachliteratur auch "Beharrlichkeit" genannt!
    • Abt. Fairste Spielfolge bezüglich "Wer darf anfangen"
      =======================================
      Dürfen zwei Spieler abwechselnd Dinge aus einem Korb wählen, und besteht Einigkeit über die Wertigkeit dieser Dinge, dann wird sich der erste, Spieler A, stets sofort das beste bzw. wertvollste Ding aus dem Korb nehmen. Das wird bei Spieler B im Laufe der Zeit ungut auffallen, und er möchte auch als Erster beginnen. Die Mathematiker Thue und Morse haben sich überlegt, wie die Abfolge beim Spielbeginn sein muss, damit bei mehreren solchen Spielen möglichst große Fairness entsteht. So enstand die Thue-Morse-Folge, die man mit dem untenstehenden Progi erzeugen kann. Sie weist, ähnlich wie die Zahl Pi, eine Struktur auf, die sich niemals mehrfach wiederholt. Interessant ist, daß man sie u.a. einfach aus Binär-Paritäten erzeugen kann.
      Gruss

      P.S. Quelle: Youtube

      Quellcode

      1. WindowTitle "Thue-Morse Fairest Drawgame-Folge erzeugen"
      2. CLS:font 2:declare par&,w$,ThueMorse$
      3. AppendMenuBar 100,"Eine Taste = Ende + Ergebnis in Zwischenablage!"
      4. Whileloop 0,2^31-1
      5. par&=WhoseTurn$(&Loop) '= Binärtest auf 32bit-Parity Odd
      6. w$=if(par&,"B ","A ")
      7. ThueMorse$=ThueMorse$+str$(par&)
      8. print w$;
      9. putclip w$
      10. waitinput 7
      11. case &Loop<20:waitinput 200
      12. case %key:break
      13. endwhile
      14. clearclip:putclip ThueMorse$
      15. print "\n\n Fairste Wahlabfolge in Zwischenablage! (Spieler A = 0, B = 1)"
      16. beep:Waitinput 4444
      17. End
      18. Proc WhoseTurn$ :parameters v&:v&=v&-((v&>>1) & $55555555)
      19. v&=(v& & $33333333)+((v&>>2) & $33333333)
      20. Return int((((v&+(v&>>4) & $F0F0F0F)*$1010101)>>24) mod 2)
      21. Endproc
      Alles anzeigen
    • Lösung zu EaR 31:
      -------------------
      Spoiler anzeigen

      Die Aufgabe lautet also X = 65601^3 + 67402^3 - 83802^3

      Dank Windows-Zubehör-Taschenrechner Calc.exe, der in 128-bit-Genauigkeit
      rechnet, ergibt sich:

      65601^3 = 282313326276801
      67402^3 = 306209281368808, ergibt
      zusammen: 588522607645609, weniger
      83802^3= -588522607645608
      --------------------------------
      Der Unterschied beträgt 1
      =================
    • Abt. Piloten istS nicht verboten
      ====================
      Auch nicht, eine normale Sinusfunktion durch abgekürztes Kopfrechnen zu ersetzen (ohne jede Gewähr!):

      Beispiel A:
      -----------
      Ein (Simulator)-Pilot erfährt vom zuständigen ATC folgende Windverhältnisse an der zugewiesenen Landebahn "Clear to land O-9er Left: Wind 250 with 15 knots". (Air Traffic Controller sprechen schnellstes, undeutlichstes Englisch, Piloten müssen daher höllisch aufpassen, ob dabei ihre Flugzeug-Kennung genannt wurde, und müssen die ganz Soße dann unter Nachnennung dieser Flugkennung wiederholen).

      Die Kopfrechnung geht so: Die Landebahn heisst 18 L, weil sie in Kompass-Richtung 180° beflogen wird (und dabei die linke von zwei parallelen Landebahnen). Der Wind kommt aus 250° mit 15 Knoten (Ein Knoten entspricht 1,852 km/h, 18 knots sind also ca. 28 km/h, also rund 7,7 m/s, aber das interessiert hier nicht).

      Dem Piloten geht es dabei nur um die Seitenwind-Komponente quer zur Landbahn. Er rechnet nun überschlägig wie folgt:

      1. Größerer Wert minus Kleinerer Wert:
      Windrichtung 250° / 10 = 25
      Landebahn-Lagekennung: 18
      ===================
      Differenz: 7
      2. Aufwerten um 2: 7 + 2 = Faktor 9
      3. Seitenwind = Wind /10 * Faktor = 15 knots /10 * 9 = 1.5 * 9 = 14 Knots
      Der Seitenwind quer weht also mit etwa 14 Knoten.

      Probe: 15 Knoten * Sin(250°-180°) = 15*0.94 = 14,1 knots Crosswind
    • Beispiel B:
      ----------
      "Clear to land 3-4: Wind 2-5-O with 22 gusty"

      34 - 25 = 9; + 2 = 11 ; * 2.2 ~ 24 knoten Crosswind, Böen-Warnung.

      Probe: 22 Knoten * Sin(340°-250°)= 22 * Sin(90°) = 22 Knoten.
      Das bedeutet: bei Differenzen 8, 9 oder 10 braucht man gar nicht zu rechnen, weil der Wind selbst quer kommt.
    • Beispiel C:
      ----------
      "Clear to land Oh-2: Wind 3-5-O with 18 knots" (Knots muss der ATC dazusagen, da in manchen Afrikanischen Ländern km/h angesagt werden.)

      350°-20° = 360°-10°-10° = 30° = "3"; + 2 = Faktor 5
      Windkennzahl=1.8 * 5 = (Kommatauschtrick) 18 * 0.5 = 18/2 = 9 knots Crosswind

      Allgemein gilt:
      ===========
      sin(0)=0, sin(15°)~1/4, sin(30°)=1/2, sin(45°)~70%,
      sin(55°)~82%, sin(65°)~90%, sin(>75°)~>96%


      Gruss
    • Das Board-System lässt mich eine Zeile nicht posten:

      "Probe: 18 * Sin(350°-20°) = 18 * Sin(330°) = 18 * o.5 = 9 knots Crosswind."

      Rote Meldung: Ihre Nachricht enthält folgende zensierte Wörter: +Msgnr

      Damit es dennoch klappt, musste ich bei o.5 statt 0 ein o eingeben!!!

      Greift Artikel 13 schon?


      Testet mal statt in Worten in Ziffern:
      Nullkommafünf Abstand Istgleich Abstand Neun.
      Das System mag das nicht!

      Die obige eigene Message-Nr auch nicht!!!

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

    • Abt. EaR 32
      ===========
      Opi hat den vierstelligen Code seines Fahrradschlosses vergessen. Er findet in der Geldbörse aber noch den Zettel, auf dem folgende Hinweise stehen:

      CODE ABCD:
      --------------
      B + 2 = D
      A - C = C
      C * B = A
      A / B = D

      Im Rechen war Opi nie sehr gut. Hilf ihm, den Zugangscode zu rekonstruieren!
    • Achso: Rechnen, nicht rechen... Sorry!

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

      1) B + 2 = D
      2) A - C = C
      3) C * B = A
      4) A / B = D
      -------------
      Aus 2) folgt *) A = 2 * C
      in 3) eingesetzt: C * B = 2 * C ==> B = 2 ;
      Mit 1): B + 2 = D >>> D = 4 ;
      Wegen 4): A/2 = 4 >>> A = 8
      Da aus *) 8 = 2 * C >>> C = 4 .

      Der Zugangscode des Fahrradschlosses lautet also "8244".
      ======================================


      Geht aber auch mittels XProfan:

      Quellcode

      1. WindowTitle "EaR 32-Löser Brute-force"
      2. WindowStyle 24
      3. Declare a!,b!,c!,d!
      4. Cls:font 2:print
      5. Whileloop 0,9:a!=&Loop
      6. Whileloop 1,9:b!=&Loop
      7. Whileloop 0,9:c!=&Loop
      8. Whileloop 0,9:d!=&Loop
      9. if (B! + 2) = D!
      10. if (A! - C!) = C!
      11. if (C! * B!) = A!
      12. if (A! / B!) = D!
      13. print " ";int(a!),int(b!),int(c!),int(d!)
      14. endif
      15. endif
      16. endif
      17. endif
      18. endwhile
      19. endwhile
      20. endwhile
      21. endwhile
      22. print " ========"
      23. waitinput
      24. end
      Alles anzeigen
    • Abt. Weitere Mathe-Rekorde
      =====================
      Eine Superpermutation entsteht, wenn man alle Permutationen einer bestimmten Anzahl von Elementen so zusammenschreibt, dass jede in der entstehenden Zeichenkette zu finden ist, und es sich dabei eine der kürzestmöglichen aller auf diese Weise zusammengestellten Zeichenketten handelt.

      Man dachte, eine Formel für die kürzestmöglichen Superpermutationen gefunden zu haben, es stellte sich aber heraus dass diese Formel nur für den Bereich von n=1 bis 5 Elementen gilt. Für n = 6 wurde eine um 1 kleinere Superpermutation gefunden, und man kann bisher lediglich eine untere Miindestgrenze angeben, tappt aber ab der Zahl 6 aufwärts bisher im Dunkeln.

      Dieser Bereich ist also für Überraschungen gut, und da gab es von Mr. Greg Evans einen neuen Bestwert für n = 7. Sein Superpermutationsstring weist eine Länge von 5906 Stellen auf - eine Stelle besser als der bisherige Rekord. Anbei in überprüfender Form der neue Rekordwert!

      Gruss

      Quellcode

      1. WindowTitle "Superpermutation of 7 New Record, by Greg Evans"
      2. CLS:var S7_5906$=\
      3. "12345671234561723456127345612374561327456137245613742561374526137456213745612347561324756"+\
      4. "13427561347256134752613475621347561234576123451672345162734516237451623475162345716234517"+\
      5. "62345126734512637451263475126345712634517263451276345123674512364751236457123645172364512"+\
      6. "73645123764512346751234657123465172346512734651243765124367512436571243651724365127436512"+\
      7. "47365124637512463571246351724635127463512476351246735142673514627351467235146732514673521"+\
      8. "64735216743521673452163745216347521634572163452716345217643521764532716453276145327641532"+\
      9. "76451326745132647513264571326451732645137264531726453712645372164537261453726415372645132"+\
      10. "76453127645321764523176452137645217365421736524173652147365217436521734652173645217634521"+\
      11. "67354216375421635742163547216354271635421763542167352416375241635724163527416352471635241"+\
      12. "76352416735214673512465371246531724653127465312476531246753142675314627531467253146752316"+\
      13. "47532164753126475316247531642753164725316475231674532167453126745316274531672453167425316"+\
      14. "74523167542316752431675234167523146753214675312465731246513724651327465132476513246715324"+\
      15. "67135246713254671235467125346712543671524367154236715432675143267541326754312675432167543"+\
      16. "26174536217453612745361724536174253617452361745326174352617432561743265174236517426351742"+\
      17. "65317426513742651734261573426175342167534217653421756342175364217534621753426173542617345"+\
      18. "26173425617342651743261574362157436125743162574312657413265741236574126357412653741265734"+\
      19. "12657431256741325674123567412536741256374125673412567431257641325761432576134257613245761"+\
      20. "32547613257461325764123576412537614253761245376125437615243761542376154327615437261543762"+\
      21. "15437612534761253746125376412573641257634125764312574631257436152743615724361574236157432"+\
      22. "61754362175436127543617254361752436175423617543267154362715436721543671254637125467312547"+\
      23. "63125473615247361542736154723615473261457362145763214756321476532147635214763251476321547"+\
      24. "63214576231457621345762143576214537621457361245736142573614527361457236145732614753621475"+\
      25. "36124753614275361472536147523614753261473526147325614732651472365147263514726531472651347"+\
      26. "26514372651473261547362154736125473162547312654713265471236547126354712653471265437162534"+\
      27. "71625374162537146253716425371624537162543716524371654237165432716543721654371265473125647"+\
      28. "13256471235647125364712563471256437215643725164327561432756413275643127564321756432715643"+\
      29. "27516432571634251763425167342516374251634725163427516342571632451763245167324516372451632"+\
      30. "74516324751632457163254716325741632571463275146327154632714563271465327146352714632571643"+\
      31. "52716435721643571264351726435127643512674351264735126437512643571624351762435167243516274"+\
      32. "35162473516243751624357164235176423516742351647235164273516423751462375142637514236751423"+\
      33. "76514273651427635142765314276513427651432765142375614235761423567143256714352671435627143"+\
      34. "56721435671243561724356127435612473561243756124357612435671423561742356147235614273561423"+\
      35. "75164235716432517643251674325164732516437256143725641372564317256437125647312546713245671"+\
      36. "32465713246751324615732461753246173524617325416723541762354716235476123547621354762315467"+\
      37. "23154627315462371546231756423157642135674213564721356427135642173562413756241357624135672"+\
      38. "41356274135624713562417356214735621743562173456217354621735642137564213576421537462153742"+\
      39. "61537421653742156374215367421537642157364215763421576432157642315674231564723156427315642"+\
      40. "37156423175624315762431567243156274315624731562437156243175623415762341567234156273415623"+\
      41. "74156234715623417562314756231745623175463217456321746532174635217463251746321574632175463"+\
      42. "12754631725463175246315724631527463152476315246731524637152463175426315742631547263154276"+\
      43. "31542673154263715426317546231574623517462357146235741623574612357462135746231547623514762"+\
      44. "35417263541723654172356417235461723541672534176253147625317462531764253176245317625431765"+\
      45. "24317654231765432176543127654317265431762534172653417256341725364172534617253416725431672"+\
      46. "54136725143672513467215347621534726153472165347215634721536472153467213546721345672134657"+\
      47. "21364572136547213657421365724136572143657213467521364752136745213675421367524136752143765"+\
      48. "21437562143752614375216437521463725146372154637214563721465372146357214637521436752134672"+\
      49. "51364725136742513672451367254163725416732541763254173625147362517436251734625713642571362"+\
      50. "45713625471362574136257143625713462751364275136247513627451362754163275416237541263754123"+\
      51. "67541237654132765413726541376251437625134762513746251376425137624513762541376524137654213"+\
      52. "76541237564123754613275461372546137524613754261375462137546123754162735412673541276354127"+\
      53. "36541273564127354612735416275341267534127653412756341275364127534612753416275431627541362"+\
      54. "75143627513462715342671354267134526713425671342657143265714236571426357142653714265731426"+\
      55. "57134267513426715342761534271653427156342715364271534627135462713456271346527136452713654"+\
      56. "27136524713652741365271436527134625731462573416257346125734621573462517364251736245173625"+\
      57. "41732654173256417325461732456173246517324615372461532746153247615324167532416573214657321"+\
      58. "64573126457316245731642573164527316542731652473165274316527341652731465273164572316547231"+\
      59. "65742316572431657234165723146572316457321654732165743216573421657324165372416532741653247"+\
      60. "16532417653241567321456731245637124563172456312745631247563124576312456731425637142563174"+\
      61. "25631472563142756314257631425673145263714523671453267145362714536721453671245367142536714"+\
      62. "52376145237164523714652374165237461523476512347652134765231476523417652347165234761523467"+\
      63. "15234617523461572346152734615237465123746521374652317465237145623714526317452631475263145"+\
      64. "72631452763145267314562731456723145673215467321564732156743215673421567324156372415632741"+\
      65. "56324715632417563241576324153672415362741536247153624175362415736241537624153267415326471"+\
      66. "53264175326415732641523764152367415236471523641752364157236415273641526374152634715263417"+\
      67. "52634157263415276341526734152643715264317526431572643152764315267431526473152641375264135"+\
      68. "72614357261345726135472613574261357246135726413527614352761345276135427613524761352746135"+\
      69. "27641352674135264713526417352641"
      70. Font 2:print "\n Rekordstring Länge = ";len(S7_5906$);"\n"
      71. declare su$,is&,n&, a&,b&,c&,d&,e&,f&,g&
      72. Whileloop 7:a&=&Loop
      73. Whileloop 7:b&=&Loop:case b&=a&:continue
      74. Whileloop 7:c&=&Loop:case c&=a&:continue:case c&=b&:continue
      75. Whileloop 7:d&=&Loop:case d&=a&:continue:case d&=b&:continue:case d&=c&:continue
      76. Whileloop 7:e&=&Loop
      77. case e&=a&:continue:case e&=b&:continue:case e&=c&:continue:case e&=d&:continue
      78. Whileloop 7:f&=&Loop: case f&=a&:continue:case f&=b&:continue
      79. case f&=c&:continue:case f&=d&:continue:case f&=e&:continue
      80. g&=28-a&-b&-c&-d&-e&-f&
      81. inc n&
      82. su$=str$(a&)+str$(b&)+str$(c&)+str$(d&)+str$(e&)+str$(f&)+str$(g&)
      83. is&=instr(su$,S7_5906$)
      84. if is&>0
      85. print " ";n&;".: ",a&,b&,c&,d&,e&,f&,g&;" Gefunden an Pos. ";is&
      86. else
      87. print "\n A L A R M ! : ";su$," n i c h t g e f u n d e n !"
      88. sound 2000,200
      89. waitinput
      90. END
      91. endif
      92. endwhile
      93. endwhile
      94. endwhile
      95. endwhile
      96. endwhile
      97. endwhile
      98. Print "ALLES OK!"
      99. waitinput
      100. END
      Alles anzeigen

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