Изменения

Перейти к: навигация, поиск

Рекурсивные функции

607 байт добавлено, 14:25, 19 января 2013
Деление
==== Деление ====
<tex> divide(x,y) = \lfloor {\frac{x}{y} } \rfloor </tex>, если <tex> y > 0 </tex>. Если же <tex> x y = 0 </tex>, то <tex> divide(x,0) </tex> и все связанные с делением функции равны каким то ,не интересными для нас, числами.
Сначала определим <tex> divmax(x,y) </tex> {{---}} функция равна максимальному числу меньшему <tex> x </tex> и которое нацело делится на <tex> y </tex>.
<tex> divmax(0,y) =\textbf 0^{1} </tex>
<tex> divmax(x+1,y) = h(x,y,divmax(x,y)) </tex>, где <tex> h(x,y,z) = if(eq(sub(I(x),z),y),I(x),z) </tex>,  или не формально если <tex> x+1- y = z </tex> то <tex> h(x,y,z)= x+1 </tex>, иначе <tex> h(x,y,z)= y </tex> Теперь само деления  <tex> divide(0,y)=\textbf 0^{1} </tex> <tex> divide(x,y) = h(x,y,divide(x,y)) </tex>, где <tex> h(x,y,z) = sum(z,eq(I(x),divmax(I(x),y))) </tex> или не формально если <tex> x+1~\vdots z </tex> то <tex> h(x,y,z) = z+1 </tex>, иначе <tex> h(x,y,z) = z</tex> Остаток от деления выражается так: <tex> mod(x,y) = sub(x,mul(y,divide(x,y))) </tex>
Анонимный участник

Навигация