PDA

View Full Version : Perl - fattoriale tra somma elementi array


gabmac2
23-12-2013, 22:09
Dovrei cercare tra gli elementi di un array che la somma sia uguale ad un valore x
Ad esempio
A=[10,15,20,25,26,14,35]
e x=40
quindi sia 15+25 e 26+14 sono uguali a 40
In teoria bisogna fare somme per n fattoriale(potrebbero essere anche pių di 2 elementi)
Ci sono modi pių sbrigativi?
Grazie in anticipo

_mRkZ_
03-01-2014, 16:46
my @numeri = (1..50);
my $somma = 20;

foreach my $n1 (@numeri) {
foreach my $n2 (@numeri) {
//if ($n1 != $n2 && $n1+$n2 eq $somma) {
print "$n1 + $n2 = $somma\r\n";
//}
}
}

Potrebbe andare? :) non č sbrigativo ma mi viene in mente questo :D
Con qualche controllo in pių sui due numeri puoi evitare duplicati..

british
03-01-2014, 19:05
Mettili in una tabella hash M, poi per ogni n appartenente a M controlli se x-n appartiene a M