There's more than one way to do things PerlMonks

### Re: Puzzle Time

by Athanasius (Chancellor)
 on Dec 23, 2012 at 03:39 UTC ( #1010071=note: print w/replies, xml ) Need Help??

First, some assumptions:

1. Numbers means natural numbers
2. Digits means digits in the decimal representation
3. Divisible by a digit means divisible without remainder
4. The digit 0 is excluded, since division by 0 is undefined

There are 9 different digits allowed, and any number having more than 9 digits will necessarily have some digits repeated. So, the upper bound is 987,654,321.

```#! perl
use Modern::Perl;

my \$count = 0;

OUTER:
for my \$n (1 .. 987_654_321)
{
my %digits;

++\$digits{\$_} for split //, \$n;

for (keys %digits)
{
next OUTER if (\$_ == 0) || (\$digits{\$_} > 1) || (\$n % \$_);
}

printf "#%d is %d\n", ++\$count, \$n;
}

Hope that helps,

 Athanasius <°(((>< contra mundum Iustus alius egestas vitae, eros Piratica,

Create A New User
Node Status?
node history
Node Type: note [id://1010071]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2018-04-22 05:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (82 votes). Check out past polls.

Notices?