Untitled
public text v1 · immutableuse integer;
for (my $i=0;$i<20;$i++) {
my ($a,$b) = (int(rand 101),int(rand 101));
my ($d,$x,$y) = egcd($a,$b);
print "$a*$x+$b*$y=$d\n";
}
sub egcd($$) {
my ($a,$b) = @_;
if ($a<$b) {
my ($d,$y,$x) = egcd($b,$a);
return ($d,$x,$y);
}
return ($a,1,0) if $b==0;
my $k = $a/$b;
my ($d,$x,$y) = egcd($a-$k*$b,$b);
return ($d,$x,$y - $k*$x);
}