[Solved]Einen Zufallsbruch erzeugen
-
Hi,
Ich hätte mal ne Frage:
Ich möchte in einer Funktion
Zwei zufallszahlen erzeugen die folgende bedingungen erfüllen:
a ungleich b
a/b ist kürzbar
a und b sollen zusammen 4 Ziffern habenHätte jemand einen Ansatz danke im Voraus
-
int a = 20; int b = 40;
Oder du machst genau das, was du beschrieben hast:
Zahlen erzeugen
testen
wenn Bedingung nicht erfüllt, fange vorne an
-
Ich geh mal von
a,b >= 2
aus. (Oder gehen auch negative?)Wenn
ggt(a, b) != 1
kannst du aucha = A * C
undb = B * C
schreiben.C
muss in dem Fall 2-49 sein.
Jetzt kannst du unterscheiden, obC
ein- oder zweistellig ist... bei zweistellig können beiden Zahlen nur zweistellig sein, bei einstellig ergeben sich drei Möglichkeiten.
Bei Gleichheit halt nochmal ziehen...PS: Wobei halt immer die Frage ist, wie die Zahlen verteilt sein sollen...
-
Und wie ermittelt man die ziffernanzahl?
-
Schreib dir doch ein Program was dir alle Ziffernpaare bestimmt! Pseudocode
for (i = 0; i < 10000; i++) { for (j = 0; j < 10000; j++) { string si = to_string(i); string sj = to_string(j); if (si.size() + sj.size() != 4) break; if (i == j) break; if (ggt(a, b) == 1) break; List.push_back(pair(i, j)); } }
-
C++Developer2000 schrieb:
Und wie ermittelt man die ziffernanzahl?
Denk mal an die Grundschule, wie viel Einer in einer Zahl sind, wie viele Zehner, Hunderter und so weiter.
Oder ein ganz anderer Weg, wenn die Grundschule zu lange her ist: 1=10^0, 10=10^1, 100=10^2, 1000=10^3. Irgendwie potentiell, oder? Wenn es doch bloss eine Moeglichkeit gaebe, Potenzen umzukehren...
-
Neznetop!
-
volkard schrieb:
Neznetop!
Was ist das?
-
SeppJ schrieb:
Potenzen umzukehren...
-
Danke SG1