Ho un esercizio in cui sono obbligato a costruire una funzione ricorsiva che prende un numero naturale e restituisce "Vero" se è divisibile per 3, o "Falso" altrimenti, usando la regola della 3-divisibilità. Poi mi è stato chiesto di scrivere una relazione di ricorrenza di questa funzione. La funzione che ho scritto è:
def divide3(n):
i=0
while i in range(0,len(str(n))-1):
if (sum(n, i))%3==0:
if (divide3(int(str(n)[i+1:])))==True:
return True
else:
return False
continue
Quello che non capisco è come dovrei scrivere una relazione di ricorrenza n-dipesa, se il numero di operazioni che faccio è correlato al numero di cifre in n, e non ha nulla a che fare con n stesso. Gradirei qualsiasi aiuto in materia.