derpp has asked for the wisdom of the Perl Monks concerning the following question:
Hiya, monks
I'm trying to write this program that finds perfect numbers from a range of 1-10000. I already had a program that found that factors of integers, and since all a perfect number is is a number that, when added up, equals the sum of its factors.
Here is my attempt:@numbers = (1..10000); foreach $number (@numbers) { for ($count = 1; $count <=10000; $count++) { $result = $number / $count; unless ($result =~ /\./) { push (@factor, $result); } } } foreach $thing (@factor) { if ($result==$thing) { my @perfectnumbers = ( ); push (@perfectnumbers, $result); } } foreach (@perfectnumbers) { print "$_\n"; }
What i wanted to do was to get all the factors of every integer from 1 to 10000 and then when the integer equaled its factors, it would push it into the array. My problem lies in the fact that i'm not sure how to make perl do this. I also think that there are some problems with my factors.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: finding perfect numbers
by CountZero (Bishop) on Aug 05, 2010 at 19:56 UTC | |
by hexcoder (Curate) on Aug 05, 2010 at 21:44 UTC | |
by CountZero (Bishop) on Aug 06, 2010 at 10:56 UTC | |
|
Re: finding perfect numbers
by zek152 (Pilgrim) on Aug 05, 2010 at 19:56 UTC | |
by derpp (Acolyte) on Aug 05, 2010 at 20:22 UTC | |
|
Re: finding perfect numbers
by toolic (Bishop) on Aug 05, 2010 at 19:45 UTC |