Мне интересно, могу ли я вернуть более одного значения из функции. Например, рассмотрим такую функцию: расширенный алгоритм Евклида. Основной шаг описывается следующим входом: целые неотрицательные числа a и b; выход представляет собой триплет (d,i,j), такой что d=gcd(a,b)=i*a+j*b
. Просто чтобы уточнить цель моего вопроса, я напишу короткий рекурсивный код:
if (b==0) return (a,1,0)
q=a mod b;
пусть r таково, что a=r*b+q;
(d,k,l)=extendedeuclidean(b,q);
return (d,l,k-l*r);
Как вернуть тройку?