czwartek, 8 lutego 2018

Suma liczb podzielnych przez trzy - Standard ML

Treść zadania:

Zadeklarować funkcję f:int → int określoną następująco:
f(n) = suma liczb podzielnych przez 3 i mniejszych równych od n

Na przykład:
f(1) = 0
f(2) = 0
f(3) = 3
f(4) = 3
f(5) = 3
f(6) = 9 /* 3+6 */
f(7) = 9 /* 3+6 */
f(8) = 9 /* 3+6 */
f(9) = 18 /* 3+6+9 */

Kod źródłowy:

fun f(x:int) = if x=0 then 0 else if x mod 3 = 0 then x+f(x-1) else f(x-1);


Dane testowe:
f(1);
f(2);
f(3);
f(4);
f(5);
f(6);
f(7);
f(8);
f(9);


Brak komentarzy:

Prześlij komentarz