👤

Zamień na postać rekurencyjną funkcję:


def turbox(x):

result = 1

while x > 1:

if x % 2 == 0:

result = result + (x % 10)

else:

result = result * (x % 10)

x = x // 10

return result


Odpowiedź :

Odpowiedź:

def turbox1(x):

   result = 1

   while x > 1:

       if x % 2 == 0:

           result = result + (x % 10)

       else:

           result = result * (x % 10)

       x = x//10

   return result

def turbox2(x):

   if x == 0:

       return 1

   elif x%2 == 0:

       return x%10 + turbox2(x//10)

   else:

       return x%10 * turbox2(x//10)

   

if __name__ == "__main__":

   print(f"turbox1(99) = {turbox1(99)}")

   print(f"turbox2(99) = {turbox2(99)}")

Wyjaśnienie:

jest tutaj taki mały chaczyk,

chodzi o kolejność działań,

w funkcji rekruencyjnej,

najpierw jest operacja a potem wywołanie rekurencyjne
np.  return x%10 + turbox2(x//10)