Nur Teilbare Zahlen erstellen/ Prüfen ob Ganzzahl!

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Werewolve.

    Nur Teilbare Zahlen erstellen/ Prüfen ob Ganzzahl!

    Hallo,
    hab ein Problem. Ich erzeuge zwei Random Zahlen und ein Random Operator. Dann Rechne ich die Zwei Zahlen mit dem Operator aus so z.B.

    Random Zahl1 = 6
    Random Zahl2 = 3
    Random Operator = /

    6 / 3 = 2

    Ich möchte aber prüfen ob die Aufgabe so teilbar ist das nur Ganzzahlen rauskommen. Also das er das Ausrechnet und dann prüft ob eine Kommerzahl rausgekommen ist und wenn das so ist soll er eine neue Zahl generieren. Der Knackpunkt liegt bei der Überprüfung ob es eine Kommerzahl ist oder nicht. Habs so schon probiert hat aber nicht geklappt:

    VB.NET-Quellcode

    1. If Ergebnis <> CInt(Ergebnis) Then
    2. Aufgabe()
    3. End If


    Aufgabe() ist die Funktion die, die Random Zahlen erstellt.

    MFG

    Werewolve
    Random Zahl1 = 6??

    Was du damit meinst ist mir schleierhaft aber das mit den Ganzzahlen würde dann ungefähr so gehen:

    If zahl1 mod zahl2 = 0 Then

    ' Ausgeben

    Else

    ' Neu generieren

    End If
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    Random Zahl1 = 6 war nur eine Beispiel Zahle die bei random generiert wurde.

    ALso, ich generiere 2 random zahlen die muss ich dann teilen also so als beispiel:

    2 / 4 = 0.5 <--- es kommt eine Kommerzahl raus das will ich nicht,

    desshalb will ich das wenn eine Kommerzahl rauskommt das dann direkt zwei neue Zahlen generiert werden in der Hoffung das man sie
    dieses mal glatt teilen kann. Um dies zu verwirklichen muss ich das Ergebnis prüfen ob es ein Kommerzahl ist. Wie mach ich das?

    MFG

    Werewolve
    genau so..

    Wenn du Zahl1 / zahl2 teilen willst und wissen willst, ob Ergebnis gleich Ganzzahl ist (also Ergebnis, Rest 0)

    dann kontrollierst du mit Mod eben diesen Rest...

    Wenn Zahl1 Mod Zahl2 = 0 True ist, dann ist das Ergebnis von Zahl1 / Zahl2 eine Ganzzahl.

    Wenn Zahl1 Mod Zahl2 = 0 False ist, dann ist das Ergebnis keine Ganze Zahl.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer