【发布时间】:2011-09-07 10:29:30
【问题描述】:
如果我可以从一个函数返回多个值,我很感兴趣。例如考虑这样一个函数:扩展欧几里得算法。基本步骤是这样描述的
输入是非负整数 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);
如何返回一个三元组?
【问题讨论】:
-
下次考虑使用标点符号。这很难阅读。
标签: c++ number-theory