Rechenaufgabe mit ganzer Zahl als Ergebnis
-
Hallo,
also ich möchte gerne zwei Zahlen generieren die wenn man sie dividiert eine ganze Zahl ergeben. Dabei wäre noch wichtig, dass die erste Zahl größer als die zweite Zahl sein muss.Mein bisheriger Versuch:
/* BASE ist 100 */ double Number1 = rand() % ( ( BASE / 2 ) + 1 ); double Number2 = rand() % ( ( BASE / 10 ) + 1 ); double Result = 0; while ( Number1 / Number2 == ( double ) 0 || Number1 < Number2 ) { Number2 = rand() % ( ( BASE / 2 ) + 1 ); Number1 = rand() % ( ( BASE / 10 ) + 1 ); if ( Number1 == 0 ) Number1 = 2; if ( Number2 == 0 ) Number2 = 2; }
Das Problem ist das liefert jedoch trotzdem ab und zu noch gebrochene Zahlen
BASE ist in diesem Fall jedenfalls 100...
Würde mich über Hilfe freuen bin ratlos
Gruß
-
int z2=rand()%10+1; int z1=z2*(rand()%10+1);
-
Hi,
danke für deine Antwort funktioniert jedoch auch nicht so wie es soll.Gruß
-
Blubbb schrieb:
Hi,
danke für deine Antwort funktioniert jedoch auch nicht so wie es soll.Gruß
ups.
int z1=z2*(rand()%9+2);
oder aufgedröselt
int faktor1=rand()%10+1;//zwischewn 1 und 10 int faktor2=rand()%9+2;//zwiechen 2 und 9 int produkt=faktor1*faktor2; int z1=produkt; int z2=faktor1;
ich bin recht zuversichtlich, daß wenn man z1 durch z2 teilt, was ganzen rauskommt, nämlich faktor2.