• 999.995 läßt sich ja mal gut durch fünf teilen, nur der nächste sollte die Frage beantworten, welches der größte Teiler ohne Nachkommastellen ist, wobei die Zahl 999.995 nicht genannt werden darf.

    So, finde es sollte das Spiel um eine Aufgabe, wie gerade dargestellt weitergeführt werden. Vllt. auch bisschen in die Grundlagen von AutoIt, so das Anfänger sich bisschen damit beschäftigen müssen, was in der Hilfe steht.

    ID muß nicht übernommen werden, sonder eine Idee, der nächste der weiter macht finde ich entscheidet das. Ist gleichzeitig ansporn zur Lösung.

    LG, Lina.

    P.S. Die mit den etwas anderen ID's :thumbup:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Antwort: Die Teiler von 999995 sind 5 und 199999 :D
    Hier das Script zum testen (muss über das Icon in der Taskleiste geschlossen werden):

    [autoit]

    $form = GUICreate("test", 100, 100, 50, 50) ;Erstelle Fenster
    $label = GUICtrlCreateLabel("nichts", 10, 10, 80, 80) ;Erstelle Lab
    GUISetState(@SW_SHOW) ;Macht das Fenster sichtbar
    $zahl = 999995 ;Die Zahl, wessen gröter Teiler gesucht werden soll
    For $teiler = 550000 to 0 step -1 ;$teiler gibt an, ab welcher Zahl ABWÄRTS gesucht werden soll und wiederhohlt so lange bis der Teiler auf 0 ist
    $erg = $zahl / $teiler
    If StringInStr($erg, ".") Then ;Wenn ein Komme drin ist
    GUICtrlSetData($label, $zahl & " / " & $teiler & " = " & $erg) ;Setzt das Label auf die aktuelle Rechnung
    Else ;Wenn kein Komma drinn ist
    MsgBox(0, "", $erg) ;gibt die Teiler aus (Vom kleinsten beginnend) Bsp: $zahl = 999995 ---> 5, 199999
    EndIf
    Next

    [/autoit]

    Ich mach mal weiter:
    999.994

    Aufgabe: Kürze den Bruch VOLLSTÄNDIG
    999994
    ---------
    7836

    mit AutoIt und poste das Script hier.


    Viel Erfolg!

    Edit: Mein Script würde man nichtmal brauchen weil jeder sehen kann dass 999.995 durch 5 geht. Aber ich machs eben so, dass es für alle Zahlen funzt.
    Achja: Es geht leicht mit 999995 / 5 xD

  • So meine Lösung:

    499997
    ---------------
    3918

    Mein Programm:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=Rechner.kxf
    $Form1 = GUICreate("Form1", 430, 340, 193, 125)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
    $Tab1 = GUICtrlCreateTab(0, 0, 425, 337)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheetTeiler = GUICtrlCreateTabItem("Teiler")
    $inTeilen = GUICtrlCreateInput("", 128, 56, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $Label1 = GUICtrlCreateLabel("Zahl:", 192, 32, 28, 17)
    $Label2 = GUICtrlCreateLabel("alle Teiler einer Zahl", 7, 122, 414, 33, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $btnTeilen = GUICtrlCreateButton("! Rechnen !", 160, 88, 113, 25, 0)
    GUICtrlSetOnEvent(-1, "btnTeilenClick")
    $outTeiler = GUICtrlCreateEdit("", 112, 160, 217, 162, BitOR($ES_CENTER,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    $TabSheetBruch = GUICtrlCreateTabItem("Brüche")
    GUICtrlSetState(-1,$GUI_SHOW)
    $inZaehler = GUICtrlCreateInput("", 135, 98, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $inNenner = GUICtrlCreateInput("", 135, 130, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $Label3 = GUICtrlCreateLabel("__________________________", 136, 112, 160, 17)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $btnBruch = GUICtrlCreateButton("! Rechnen !", 158, 156, 113, 25, 0)
    GUICtrlSetOnEvent(-1, "btnBruchClick")
    $Label4 = GUICtrlCreateLabel("Bruch eingeben:", 176, 64, 82, 17)
    $outBruch = GUICtrlCreateEdit("", 136, 256, 169, 57, BitOR($ES_CENTER,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Bruch maximal kürzen:", 6, 196, 414, 49, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $TabSheetKGV = GUICtrlCreateTabItem("KgV")
    $Label6 = GUICtrlCreateLabel("Zahlen:", 192, 64, 40, 17)
    $inKGV1 = GUICtrlCreateInput("", 136, 96, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $btnKGV = GUICtrlCreateButton("! Rechnen !", 160, 168, 113, 25, 0)
    GUICtrlSetOnEvent(-1, "btnKGVClick")
    $Label7 = GUICtrlCreateLabel("kleinstes gemeinsames Vielfaches", 7, 210, 414, 49, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $inKGV2 = GUICtrlCreateInput("", 136, 128, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $outKGV = GUICtrlCreateInput("", 135, 274, 161, 24, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $TabSheetGGT = GUICtrlCreateTabItem("GGT")
    $Label8 = GUICtrlCreateLabel("Zahlen:", 192, 64, 40, 17)
    $inGGT1 = GUICtrlCreateInput("", 136, 96, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $inGGT2 = GUICtrlCreateInput("", 136, 128, 161, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetOnEvent(-1, "Input1Change")
    $btnGGT = GUICtrlCreateButton("! Rechnen !", 160, 168, 113, 25, 0)
    GUICtrlSetOnEvent(-1, "btnGGTClick")
    $Label9 = GUICtrlCreateLabel("Größter gem. Teiler (Nach Moderner Euklidischer Algorithmus)", 7, 210, 414, 49, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $outGGT = GUICtrlCreateInput("", 135, 274, 161, 24, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUICtrlCreateTabItem("")
    $ani1 = GUICtrlCreateAvi (@SystemDir & "\shell32.dll",152,410,0,20,20)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func btnBruchClick()
    $zahl1 = GUICtrlRead($inZaehler) ;Die Zahl, wessen gröter Teiler gesucht werden soll
    $zahl2 = GUICtrlRead($inNenner) ; Die Zahl im Nenner
    If ($zahl1 / $zahl2 == 1) Then Return GUICtrlSetData($outBruch,"1")
    If ($zahl2 < 1) Then Return GUICtrlSetData($outBruch,"Division durch 0!")
    For $teiler = $zahl2 to 0 step -1 ;$teiler gibt an, ab welcher Zahl ABWÄRTS gesucht werden soll und wiederhohlt so lange bis der Teiler auf 0 ist
    $erg1 = $zahl1 / $teiler
    $erg2 = $zahl2 / $teiler
    If ( Not StringInStr($erg1, ".") ) And ( Not StringInStr($erg2, ".") ) Then
    If ($erg2 == 1) Then Return GUICtrlSetData($outBruch,$erg1)
    Return GUICtrlSetData($outBruch,$erg1 & @CRLF & "---------------" & @CRLF & $erg2)
    EndIf
    Next
    EndFunc
    Func btnKGVClick()
    GUICtrlSetState ($ani1, 1)
    $zahl1 = GUICtrlRead($inKGV1)
    $zahl2 = GUICtrlRead($inKGV2)
    ;Hier seid ihr dran, auch wenn ichs schon habe :)
    GUICtrlSetData($outKGV,$erg)
    GUICtrlSetState ($ani1, 0)
    EndFunc
    Func btnTeilenClick()
    GUICtrlSetState ($ani1, 1)
    GUICtrlSetData($outTeiler,"")
    $zahl = GUICtrlRead($inTeilen)
    $to = Floor($zahl / 2)
    For $i = 2 To $to
    if Mod($zahl, $i) = 0 then GUICtrlSetData($outTeiler,$i & @CRLF,1)
    Next
    GUICtrlSetState ($ani1, 0)
    EndFunc
    Func Form1Close()
    Exit
    EndFunc
    Func Form1Maximize()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    Func Form1Minimize()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    Func Form1Restore()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    Func Input1Change()
    Switch GUICtrlRead($Tab1,1)
    Case $TabSheetBruch
    btnBruchClick()
    Case $TabSheetKGV
    btnKGVClick()
    Case $TabSheetTeiler
    btnTeilenClick()
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func btnGGTClick()
    GUICtrlSetState ($ani1, 1)
    $zahl1 = GUICtrlRead($inGGT1)
    $zahl2 = GUICtrlRead($inGGT2)
    ;ich habs schon, aber was wäre dann mir eurer Aufgabe? Hier seid ihr dran
    GUICtrlSetState ($ani1, 0)
    EndFunc

    [/autoit]


    Die Nächste Zahl : 999993
    Meine Aufgabe:
    Das kleinste gemeinsame Vielfache von
    999993 und 355

  • @progandy

    Dem Spruch muß ich mir irgendwie merken.

    "Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung".

    Der Werbespruch von MediaMarkt dazu: "Sie werden die Gebrauchsanweisung verstehen, weil Ihr Gerät läuft!" LOL

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • 999991
    __________________________________________________________________________________________________________________________________
    Lalala...

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)