alles over je Palm Treo smartphone of PalmOS pda
|
Registreer | FAQ | Ledenlijst | Kalender | Berichten van vandaag | Zoeken |
#21
|
|||
|
|||
My 2 cents
Interessant allemaal, maar beide oplossingen zouden niet de mijne zijn, omdat ze maar een beperkt deel van de mogelijke delingen geven.
Om een voorbeeld te geven: Produkt = 100 Geboden oplossing komt met een maximale deler van 10, terwijl ook bijv. 2x50=100 Ik zou het volgende doen: Produktschatting Ps = int(random * max) Deler 1 D1 = int(random * (Ps/2) + 1) (geeft maximum range) Produkt P = Ps - (Ps % D1) (% = mod = restwaarde van Ps wanneer gedeeld op D1) Deler 2 D2 = P / D1 ... Voorbeeldje: Ps = 100 D1 = 49 P = 100 - (100 % 49) = 100 - 2 = 98 D2 = 98 / 49 = 2 enzovoorts.... euhh... nooit geprogrammeerd in de C variant voor Palm... zit toch neem ik aan wel een % operator in? Hier in Java: public class test { public static void main(String args[]) { int max = 100; for(int t=0;t<100;t++) { int p = (int) (Math.random() * max); int d1 = (int) (Math.random() * (p/2) + 1); p = p - (p % d1); int d2 = (int) p / d1; System.out.println(p + "/" + d1 + "=" + d2); } } } Laatst gewijzigd door Damanios; 14 december 2003 om 00:10. |