Odd abundant number question
hv at crypt.org
hv at crypt.org
Fri May 13 16:05:43 CEST 2005
"David Wilson" <davidwwilson at comcast.net> wrote:
:Is an odd abundant number necessarily a sum of proper divisors of itself?
Checking UPINT, I find that a number is called "pseudoperfect" if it is
the sum of some of its proper divisors, and "weird" if it is abundant
but not pseudoperfect; that leads to A002975 (the weird numbers) which
suggests you should start your search for odd weird numbers after
3963968 (the largest number given in the sequence - all the given numbers
are even).
UPINT (2nd ed) specifically says that the existence of an odd weird number
is "an open question", and Erdos offered $10 for an answer.
However I can see no particular reason why such a thing shouldn't exist -
it is merely the sparsity of small abundant odd numbers that makes it
difficult to check. An abundant number is weird or not precisely if the
abundance itself can be expressed as a sum of the divisors, so it makes
sense to search for odd abundant numbers with minimal abundance, but
they are also rare - checking from 3963968, there are only 14 odd numbers
less than 10^7 with abundance less than 1000, and of those the least
abundance is 174 (from 7667625).
Of passing interest: due to a bug in my code, I did discover that
the least odd abundant number whose abundance cannot be expressed as
a sum of the divisors without including both of the smallest two
factors (usually 1 and 3) is 1824795. :)
Below is a simple perl/PARI test script.
Hugo
---
#!/usr/bin/perl -w
use strict;
use Math::Pari qw/ sigma divisors PARI /;
$| = 1;
my($pc, $ps) = (0, "");
my $list;
for (my $n = PARI(945); 1; $n += 2) {
my $abundance = sigma($n) - $n - $n;
next if $abundance < 0;
$list = divisors($n);
check($abundance, $#$list)
or die "\n$n ($abundance) is weird\n";
unless (++$pc & 31) {
print "\x08" x length($ps);
print $ps = $n;
}
}
sub check {
my($n, $i) = @_;
--$i while $list->[$i] > $n;
return 1 if $list->[$i] == $n;
check($n - $list->[$_], $_ - 1) && return 1 for reverse 1 .. $i;
return 0;
}
More information about the SeqFan
mailing list