Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
prog1_11 [2013-04-30 14:08]
Joakim Forsgren
prog1_11 [2015-09-10 08:49]
127.0.0.1 external edit
Line 66: Line 66:
 10*. 10*.
 Skriv en rekursiv funktion **siffsum**, med en heltalsparameter **$n**. Funktionen ska returnera summan av siffrorna i talet. Skriv en rekursiv funktion **siffsum**, med en heltalsparameter **$n**. Funktionen ska returnera summan av siffrorna i talet.
 +
 +<php>
 +/*
 +<?php
 +function u1($n) {
 +  if ($n == 1) {
 +    return 4;
 +  }
 +  return 2*u1($n-1)-3;
 +}
 +echo "<br> u1, svar: " . u1(4);
 +
 +function u2($n) {
 +  if ($n == 1) {
 +    return 2.8;
 +  }
 +  return 1.12*u2($n-1);
 +}
 +echo "<br> u2, svar: " . u2(4);
 +
 +
 +echo '<br>u3 a och b';
 +function u3a($n) {
 +  echo '<br>' . $n;
 +  if ($n == 1) {
 +    return;
 +  }
 +  u3a($n-1);
 +}
 +u3a(5);
 +
 +function u3b($n) {
 +  if ($n == 1) {
 +    echo '<br>' . $n;
 +    return;
 +  }
 +  u3b($n-1);
 +  echo '<br>' . $n;
 +}
 +u3b(5);
 +
 +function u4($str, $antal){
 +  echo $antal . ':' . $str . '<br />';
 +  if ($antal == 1){  // Brytvillkor.
 +    return;
 +  }
 +  u4($str, $antal-1);
 +
 +}
 +echo '<br> u4:<br>';
 +u4('Hello World', 5);
 +
 +
 +function u5($b,$n) {
 +  if ($n == 1) {
 +    return $b;
 +  }
 +  return $b * u5($b,$n-1);
 +}
 +echo "<br> u5, svar: " . u5(2.2,3);
 +
 +function u6($n) {
 +  if ($n == 1) {
 +    return $n;
 +  }
 +  return $n * u6($n-1);
 +}
 +echo "<br> u6, svar: " . u6(4);
 +
 +function u7($n) {
 +  if ($n == 1) {
 +    echo "$n x 7 = " . $n*7 . "<br>";
 +    return;
 +  }
 +  u7($n-1);
 +  echo "$n x 7 = " . $n*7 . "<br>";
 +}
 +echo "<br> u7, svar: <br>";
 +u7(10);
 +function u8($n1,$n2) {
 +  if ($n1 > $n2) {
 +    return;
 +  }
 +  u8($n1,$n2-1);
 +  echo $n2 . ',';
 +}
 +echo "<br> u8, svar: ";
 +u8(3,6);
 +
 +function u9($n) {
 +  if ($n == 1) {
 +    return 15000;
 +  }
 +  return 1.04*u9($n-1)+400;
 +}
 +echo "<br> u9, svar: " . u9(3);
 +
 +
 +function u10($n) {
 +  if ((int)($n/10) == 0) {
 +    return $n;
 +  }
 +  return u10((int)($n/10)) + $n%10;
 +}
 +echo "<br> u10, svar: " . u10(981);
 +*/
 +</php>