source code for "files/pe/pe_055.pl"
return to portfolio
- #!/usr/bin/perl
- use strict;
- use warnings;
- use bigint;
- # is palindrome?
- sub is_palindrome {
- my ($n) = shift;
- return ($n == reverse $n) ? 1 : 0;
- }
- #
- my ($nonlychrels) = 0;
- # ...
- for my $sum (1..10000) {
- for (1..50) {
- $sum = reverse($sum) + $sum;
- last if $sum > 10**14;
- if (is_palindrome $sum) {
- $nonlychrels++;
- last;
- }
- }
- }
- print 10000 - $nonlychrels;