Division > Rückgabe Random-Zahlen...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
inonnics
User
Beiträge: 5
Registriert: Dienstag 21. Dezember 2021, 11:34

Hallo,

ich frage wirklich nur in seltensten Fällen... aber in dem Fall weiß ich nicht einmal, wie ich suchen soll um die gewünschte Funktion zu finden...

Es geht um:

Irgend eine Random-Zahl... sagen wir mal:
100

Ich übergebe dann eine Zahl:
6

Als Rückgabe benötige ich dann 6 Random-Teile aus 100...

10
40
20
10.50
19.50

Ich hoffe ich habe mich verständlich ausgedrückt... function(100,6) - diese liefert mir dann 6 Random-Zahlen, die am Ende 100 ergeben...

Gibt es da was in die Richung? Ein Anstoß nach was ich suchen soll würde mir schon helfen =)

Vielen Dank im voraus!

Bis dann
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Mir ist keine fertige Funktion bekannt. Allerdings ist die Aufgabe ja nicht so schwierig zu lösen, wenn man in der Funktion immer wieder den Rest teilt, der noch übrig ist.
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

@inonnics: es gibt nicht für alles eine fertige Funktion, denn sonst wären Programmierer arbeitslos. Du Funktion mußt Du schon selbst schreiben z.B. einer for-Schleife, die fünf mal durchlaufen wird.
Deine "Zufalleszahlen" sehen nicht sehr zufällig aus, welche Kriterien hast Du denn sonst noch?
inonnics
User
Beiträge: 5
Registriert: Dienstag 21. Dezember 2021, 11:34

hey,

"es gibt nicht für alles eine fertige Funktion, denn sonst wären Programmierer arbeitslos."
i know =)

bin relativ neu in python und als ich sah wie mächtig numpy zum beispiel ist, dachte ich mir dass es da vielleicht was fertiges gibt...

ein kriterium ist nur das die abweichung pro teil +/- maximal 20% sein sollte...

Also bei (60,6) käme bei der division 10 heraus... 20% von 10 ist 2...

dann wäre ein mögliches ergebnis:
8
12
10
11
8

ich spiel mich mal =)
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Die Abweichung pro Teil darf nur 20% sein? Und dann passen 8 und 12 in eine Reihe?
Also die Abweichung vom Mittelwert?
Deine zuerst gezeigte Reihe zeigt das aber auch nicht.

Lustig, dass sich die komplette Aufgabenstellung einmal dreht, wenn man nachfragt.
inonnics
User
Beiträge: 5
Registriert: Dienstag 21. Dezember 2021, 11:34

reg dich ab =)

in php hab ich mal das gewünschte verhalten soweit fertig... in python werd ichs jetzt auch noch ummünzen können... falls es jemanden interessiert:

$below = -$twentyPercentFromDivSum;
$above = $twentyPercentFromDivSum;

for($i=1; $i<=$parts; $i++) {

$random = mt_rand(
$divSum - ($divSum * (abs($below) / 100)),
$divSum + ($divSum * ($above / 100))
);

echo $random,"<br>";

//array_push($partsArray,$random);
}

soweit, so gut... ich poste es dann, falls das noch jemand mal benötigt...
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich sehe jetzt noch nicht, wo garantiert wird, dass die Summe wieder den ursprünglichen Wert annimmt.
inonnics
User
Beiträge: 5
Registriert: Dienstag 21. Dezember 2021, 11:34

Das siehst du nicht weil das nicht vorhanden war...

Am Ende dann die Differenz der Summe aller Teilzahlen und der übergebenen Summe ausrechnen...

Die Differenz dann einem Wert dazu bzw. wegrechnen...

Bin noch nicht fertig... ist doch nicht so easy wie ich anfangs dachte...
inonnics
User
Beiträge: 5
Registriert: Dienstag 21. Dezember 2021, 11:34

in php hab ich es:

http://wp1083719.server-he.de/LC/numbers/index.php

Jetzt das gleiche nu in Python =)
Antworten