Discussie: Rekenprogramma
Los bericht bekijken
  #21  
Oud 13 december 2003, 23:40
Damanios
Guest
 
Berichten: n/a
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.
Met citaat reageren