#!/usr/bin/perl -w

$i=0;
while (<DATA>){
    chomp;
    last if (/END/);
    @dn = split "", $_;
    $k=-1;
    for $j (@dn){
	$k++;
	$num[$i][$k]=$j;
    }
    $i++;
}

for $z (0..99999){
    $z= sprintf "%05d", $z;
    check($z);
}

sub check{
    my $z = shift;
    my @dc = split "", $z;
    
    my $ok=0;
    my $nok=0;
    for my $j (0..9){
	$ok=0;
	$nok=0;
	for my $kk (0..4){
	    if ($num[$j][$kk]!=$dc[$kk]){
		$nok++;
	    }else{
		$ok++;
	    }
	}
	return if ($nok != 4 || $ok<1);
    }
    print "$z\n";
}




__DATA__
07344
14098
27356
36429
45374
52207
63822
70558
85237
97665
__END__
Newsgroups: es.ciencia.matematicas
Date: Sat, 28 Dec 2013 09:48:14 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=81.43.122.61; posting-account=aWcPLAoAAAAnL91newYKSfVIL_TWHZI1
NNTP-Posting-Host: 81.43.122.61
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <704fbae2-fc79-4f91-9327-4f22d149b321@googlegroups.com>
Subject: un juegeciyo
From: betisista@gmail.com
Injection-Date: Sat, 28 Dec 2013 17:48:14 +0000
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Xref: aioe.org es.ciencia.matematicas:17972


Hola :

En un banco s=F3lo el director conoce la combinaci=F3n de la caja fuerte, q=
ue es un n=FAmero de cinco d=EDgitos. Para respaldar esta combinaci=F3n se =
da a cada uno de los diez empleados del banco un n=FAmero de cinco d=EDgito=
s. Cada uno de estos n=FAmeros de respaldo tiene en una de las cinco posici=
ones el mismo d=EDgito que la combinaci=F3n y en las otras cuatro posicione=
s un d=EDgito diferente del que tiene en ese lugar la combinaci=F3n. Los n=
=FAmeros de respaldo son:  07344, 14098, 27356, 36429, 45374, 52207, 63822,=
 70558, 85237, 97665.
 =BFCu=E1l es la combinaci=F3n de la caja fuerte?

Saludos
