uebung2.plsrc


#!/usr/local/bin/perl
use strict; no strict 'refs';

sub extended_euclid {
  $_[1] or return $_[0], 1, 0;
  my ($d, $x, $y) = extended_euclid ($_[1], $_[0] % $_[1]);
  $d, $y, $x - int ($_[0] / $_[1]) * $y;
}

sub loese_mod_eg {
  my ($d, $x, $y) = extended_euclid ($_[0], $_[2]);
  $_[1] % $d ? undef : map { ($x * $_[1] / $d % $_[2] + $_ * $_[2] / $d) % $_[2] } 0..$d-1;
}

print join (', ', &{$ARGV[0]} (splice @ARGV, 1)), "\n";