From b6a130ade3f307150975d74446206d8caee3060c Mon Sep 17 00:00:00 2001 From: Nilstrieb Date: Mon, 7 Dec 2020 09:03:00 +0100 Subject: [PATCH] c om mmen tsa dd edt orand om i nt --- src/main/java/GoodRandom.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/GoodRandom.java b/src/main/java/GoodRandom.java index e9a6441..230d5aa 100644 --- a/src/main/java/GoodRandom.java +++ b/src/main/java/GoodRandom.java @@ -50,11 +50,14 @@ public class GoodRandom { int range = max - min; //exponent of next biggest power of two int digits = (int) Math.ceil(Math.log(range)/Math.log(2)); + //how many times we need a digit from 0-3 int twoDigits = (int) Math.ceil(digits / 2d); int resultNumber = 0; + //add the random number from 0-3 but shift it 2 bits to the left everytime for (int i = 0; i < twoDigits; i++) { resultNumber += Math.pow(4, i) * getFourDigit(); } + //normalize it, will lead to unbalanced results but das interessiert mich nicht int resultNormalized = resultNumber % range; return resultNormalized + min; }