Nach einem Bruch testen ob es eine ganze Zahl ist

Guten Morgen,
ich möchte testen ob nach einem Bruch es eine ganze Zahl ist. Ich rechne mit Integer Werten.
Quasi das es erkennt nach (zaehler)/(nenner) ob diese eine ganze zahl ergeben.
Mfg Monti
 
Ich schicke mal die Aufgabe rein zum besseren Verständnis meiner Frage, da diese sehr schwammig formuliert ist:
Aufgabe 1: Quirl (5 Punkte) Für eine Zahl > 0, starte mit dem Bruch 1 . Folgende Operation nennen wir Verquirlen: Berechne das Produkt aus Zähler und Nenner. Teile das Produkt durch die Summe der Quersummen von Zähler und Nenner. Die Craziness einer Zahl ist die erste ganze Zahl, die man beim wiederholten Verquirlen erhält. Folgende Rechnungen zeigen: die Craziness von 39 ist 3 und die Craziness von 3 ist 462. 39 1 → 39 ⋅ 1 3 +9 + 1 = 39 13 = 3 3 1 → 3 ⋅ 1 3 + 1 = 3 4 → 3 ⋅ 4 3+ 4 = 12 7 → 12 ⋅ 7 1 + 2+ 7 = 84 10 = 42 5 → 42 ⋅ 5 4 +2 + 5 = 210 11 = 210 ⋅ 11 2+ 1 +1 + 1 = 462 Schreiben Sie eine Methode public static int crazy(int n), die die Craziness einer Zahl berechnet. Wer mehr wissen will: https://oeis.org/A059175
Java:
public class Main {

    public static void main(String[] args) {
        int a = 39;
        System.out.println(quersumme(a));
        System.out.println(crazy(a));
       
       
       
   
    }
   
    public static int crazy(int n ) {
        int quersumme = quersumme(n);
        int zaehler = 1;
        if( n > 0) {
             n = (n)/( quersumme + zaehler);
            return n;
        } return 0;
           
       
       
    }
   
    public static int quersumme(int a) {
        int summe = 0;
        while( a >0) {
            summe = summe + a % 10;
            a = a /10;
        } return summe;
    }
   
   
   
   
   
   
}
Soweit bin ich schon mal aber ich brauche noch eine Schleife die solange läuft bis es eine gerade Zahl ist
 
1 . Folgende Operation nennen wir Verquirlen: Berechne das Produkt aus Zähler und Nenner. Teile das Produkt durch die Summe der Quersummen von Zähler und Nenner. Die Craziness einer Zahl ist die erste ganze Zahl, die man beim wiederholten Verquirlen erhält.
Also der Algorithmus arbeitet hauptsächlich mit ganzen Zahlen: (Zähler und Nenner )
Verquirlen:
Java:
boolean whisk( int[] num )
a) Bilde Produkt von Zähler und Nenner =: PRODUKT
b) Bilde die Summe der Quersummen von Zähler und Nenner =: QUERSUMME
(benötigt
Java:
public static int crossSum(int value)
c) kürze das Zahlenpaar (benötigt
Java:
public static void shorten(int[] num)
d) Teste ob PRODUKT/QUERSUMME eine ganze Zahl ist.

--> crazy
Java:
public static int crazy(int n) {
        int[] num = new int[] { n, 1 };
        while (!whisk(num))
            ;
        return (int) (num[0] / num[1]);
    }
Java:
public static int crossSum(int value) {
        int summe = 0;
        while (value > 0) {
            summe = summe + value % 10;
            value = value / 10;
        }
        return summe;
    }

    public static int gcD(int a, int b) {
        if (a == 0)
            return b;
        if (a < 0)
            return gcD(-a, b);
        if (b < 0)
            return gcD(a, -b);
        return gcD(b % a, a);
    }

    public static void shorten(int[] num) {
        int gcD = gcD(num[0], num[1]);
        if (gcD != 0 && gcD != 1) {
            num[0] /= gcD;
            num[1] /= gcD;
        }
    }

    public static boolean whisk(int[] num) {
        int tmp = num[0] * num[1];
        num[1] = crossSum(num[0])+ crossSum(num[1]);
        num[0] = tmp;
        shorten(num);
        double test = num[0] / (double) (num[1]);
        return (test == (int) test) ? true : false;
    }
 
Welche sprache ist das?
Das würde mich allerdings auch interessieren.
Erst hatte ich beim Gucken auf die Condition der if-Anweisung an C gedacht, weil dort ja der negations-Operator ! auch auf integer definiert ist (!0 == 1 und !anythingelse == 0).
Aber in C würde die Operatorenreihenfolge so keinen Sinn machen, denn:
C:
!a%c
is äquivalent zu:
C:
(!a)%c
da der Negationsoperator stärker bindet als der Rest-Operator. Ich denke aber mal, dass das hier gemeint sein sollte:
C:
!(a%c)
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben