Happy numbers: Difference between revisions

→‎{{header|Perl}}: Added 2nd solution; translation of Perl6 with modern Perl 5 idioms
(→‎{{header|LOLCODE}}: remove creation of extra vars with the same name as loop control vars outside loop scopes)
(→‎{{header|Perl}}: Added 2nd solution; translation of Perl6 with modern Perl 5 idioms)
Line 2,514:
31
</pre>
 
{{trans|Perl 6}}
<lang perl6>use List::Util qw(sum);
sub is_happy {
my ($n) = @_;
my %seen;
while (1) {
$n = sum map { $_ ** 2 } split //, $n;
return 1 if $n == 1;
return 0 if $seen{$n}++;
}
}
 
my $n;
is_happy( ++$n ) and print "$n " or redo for 1..8;</lang>
{{out}}
<pre>1 7 10 13 19 23 28 31</pre>
 
=={{header|Perl 6}}==
256

edits