Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
}<br />
private static void south(int n, double len) { ... }<br />
public static void main(String[] args)<br />
{<br />
pencil.jumpto(100,50);<br />
west(1,80/(2 - 1));<br />
pencil.jumpto(200,50);<br />
west(2,80/(4 - 1));<br />
pencil.jumpto(300,50);<br />
west(3,80/(8 - 1));<br />
pencil.jumpto(400,50);<br />
west(4,80/(16-1));<br />
}<br />
Opgave 3.4.4<br />
Euklids algoritme til beregning af største fælles divisor af to positive heltal<br />
er baseret på reglerne:<br />
⎧<br />
⎪⎨ x, for x = y,<br />
gcd(x, y) = gcd(x − y, y), for x>y,<br />
⎪⎩<br />
gcd(x, y − x), for y>x.<br />
a) Skriv en rekursiv metode (med to parametre x og y) som beregner og<br />
returnerer gcd(x, y).<br />
b) Skriv en ny metode, der ligeledes beregner gcd(x, y), men anvender en<br />
while-løkke i stedet for rekursion.<br />
c) Argumentér for at udførelsen af metoderne fra a) og b) altid standser.<br />
Opgave 3.4.5<br />
Binomialkoefficienten ( n<br />
k)<br />
angiver på hvor mange måder man kan udtage k<br />
elementer fra en mængde med n elementer, og den opfylder følgende ligning<br />
(for n ≥ k ≥ 0):<br />
( {(<br />
n<br />
n<br />
=<br />
k−1)<br />
· (n − k +1)/k, for k>0<br />
k)<br />
1, for k =0<br />
a) Skriv en rekursiv metode binomial (med to parametre n og k) som<br />
beregner og returnerer ( n<br />
k)<br />
.<br />
b) Lav et “execution trace” for evalueringen af udtrykket binomial(4,2).<br />
34