Вас просят реализовать f(x)
, определенный как:
f(x) = 0 if x <= 0
f(x-1) + 2 otherwise
Итак, прежде всего, забудьте о факториале, я полагаю, вы взяли его в качестве примера или рекурсивную функцию, но это не то, что вам предлагается здесь сделать.
Вам нужно реализовать функцию f
, и реализация будет выглядеть так:
int f( int x ) {
if( x <= 0 ){
return /*something*/;
}else{
return /*something else*/;
}
}
Из прочитанного вами определения f(x)
вы можете понять, какими должны быть /*something*/
и /*something else*/
.
Затем вас просят «протестировать» вашу реализацию. Это можно сделать, посмотрев, какие значения f
возвращает функция main
, которая будет выглядеть следующим образом:
int main(void){
printf("f(1) is %d\n", f(1));
printf("f(13) is %d\n", f(13));
/* .. more tests here if you want .. */
return 0;
}