RosettaCodeData/Task/Happy-numbers/Perl/happy-numbers-2.pl
Ingy döt Net 776bba907c Sync
2013-10-27 22:24:23 +00:00

13 lines
263 B
Raku

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;