OOP Wertebereich Ergebnis von % Operator

knowledge

Bekanntes Mitglied
Hallo,


nur zur Sicherheit:

Code:
int grenze = 5;
Random r = new Random();
int z = r.nextInt() % grenze;


liefert mir eine Zufallszahl zwischen -4 und 4. D.h. das Ergebniss kann nur -4,-3,-2,-1,0,1,2,3,4 sein oder allgemein:

zwischen -(grenze-1) und +(grenze-1)-

Was im Gegensatz zur Definition von Modulo aus der Mathematik steht, da dort nur Werte von 0 bis grenze -1 zulässig wären
 
Tipp: führe das ganze 10.000x aus, zähle die möglichen Ergebnisse in einem Array (wegen evtl. negativen Indexen z.B. +100)

gib am Ende den verdächtigen Bereich aus, sind es zusammen 10.000, welche Zahlen sind alle dabei?
 
bitte in fremden Threads doch eher aufs Helfen konzentrieren und nicht mit eigener Unwissenheit angeben 😉

wobei das natürlich auch eine gute Info ist, auf die man mit meinem Test gestoßen wäre bzw. ist
 
Das war jetzt aber keine sehr konstruktive Kritik!
Ja, möglicherweise bin ich heute etwas gereizt, aber es ist mühsam wenn man sich sich für eine Frage rechtfertigen muss, die sehr wohl zum Kontext passt. Ich weiss nämlich wirklich nicht ob es am % oder am Random liegt.

Die Antwort auf diese Frage dürft wohl dem TO (und mir) helfen das Ganze besser zu verstehen.

(Die Frage "warum -" hab ich noch nicht gestellt, weil ich da noch nicht selbst nachgeforscht habe)
 
tjaja, ich antworte einfach wieder per Rätsel:
nimm alle Zahlen von z.B. -20 bis + 20, rechne % 5, und zähle, welche Zahl wie oft erhalten wird,
gib auch in einer Schleife alle Zahlen + das modulo-Ergebnis untereinander aus,

dann nachschauen wo z.B. mit welchem Abstand wie oft eine der Zahlen != 0 kommt, und wie es bei der 0 aussieht,
ob es da strukturell zu einem öfteren Auftreten kommt, z.B. immer 2x hintereinander (das ist es natürlich nicht)
 
Zuletzt bearbeitet von einem Moderator:
Code:
-11 % 5 = -1
-10 % 5 = 0
-9 % 5 = -4
-8 % 5 = -3
-7 % 5 = -2
-6 % 5 = -1
-5 % 5 = 0
-4 % 5 = -4
-3 % 5 = -3
-2 % 5 = -2
-1 % 5 = -1
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
7 % 5 = 2
8 % 5 = 3
9 % 5 = 4
10 % 5 = 0
11 % 5 = 1

Ich sehe keinen Grund, warum die 0 öfter vorkommen soll. Im Bereich 0 bis zum positiven Ende ist immer 0, 1, 2, 3, 4 und im Bereich -1 bis zum negativen Ende ist immer -1, -2, -3, -4 ,0 also kommt die 0 gleich oft vor (na ja, einen marginalen, sozusagen philosophischen, Unterschied würde ich erwarten, da die beiden Bereiche nicht exakt gleich gross sind)
 
die 0 kommt genauso oft wie die -1 im negativen Bereich, und genauso oft wie die +1 im positiven,

wenn also die -1 50x vorkommt, die +1 genauso, dann kommt die 0 insgesamt 100x vor, doppelt so oft,
sie ist als einzige Zahl überall vorhanden,

so wie eine Bank auf allen Seiten ihre Prozente kassiert, bei denen die zahlen und bei denen die bekommen
 

Zurück
Oben