Jeg har fået følgende opgave for den lyder således Implement the following function:
public static int kvotientOgRest(int x, int y) // kun + og - må bruges ved udregningen // pre: y != 0 og x > 0 // post: udskriver kvotient og rest af x/y int q; // kvotient int r; // rest
q = ?; r = ?;
// inv: x = q*y + r while ( r >= y ) { // gør r mindre, men bevar invarianten }
System.out.println(\"Kvotient af \" + x + \"/\" + y \": \" + q); System.out.println(\"Rest af \" + x + \"/\" + y \": \" + r); }
hvordan skal invarianten forståes og hvad er kvotient og rest ?
Invariant?? - Det ved jeg simpelthen ikke? - Men det betyder jo nok at den ligning: x = q*y + r Altid skal være opfyldt!
Kvotient og rest er jo simpelthen bare det du skal beregne! Det er almindelige heltalsdivisions-begreber, eks.: x := 10, y := 3 Resultat: Kvotient = 3 (10 / 3 går op 3 gange) Rest = 1 (10 - 3*3)
Du vil kun have forklaret hvad kvotient og rest er går jeg udfra? Selve opgaven må du hellere selv løse! - Det er som bekendt den eneste og bedste måde at lære på ;-)
Nu kan jeg jo se at invarianten bare er den ligning du skal bruge i din løkke for at nå frem til resultatet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.