Print n weird numbers
Haskell - 129
I'm sure there's lots to golf here, but since the competition seems low for now I'll throw this in.
Don't try running this though, I managed to wait only the two first elements, third will start taking minutes.
(%)=filter
w n=take n$e%[1..]
e x=let d=((==0).mod x)%[1..x-1]in sum d>x&&all((/=x).sum)(i d)
i[]=[[]]
i(y:z)=map(y:)(i z)++(i z)
Mathematica 99 94 87
Spaces not needed. Slow!:
j = i = 0;
While[j<#, i++; If[Union@Sign[Tr /@ Subsets@Most@Divisors@i-i]=={-1, 1}, j++; Print@i]]&
At the expense of a few chars this is a faster version that checks only even numbers and skips multiples of 6
that are never weird:
j = i = 0;
While[j < #,
i += 2; If[Mod[i, 6] != 0 && Union@Sign[Tr /@ Subsets@Most@Divisors@i - i] == {-1, 1},
j++; Print@i]] &@3
it's still too slow for any useful purpose. Finds the first two in a few seconds but gets slower and slower as the number of divisors increase.
Python 2.7 (255 bytes)
import itertools as t
a=int(raw_input())
n=1
while a>0:
d=[i for i in range(1,n/2+1) if not n%i]
if all([n not in map(sum,t.combinations(d,i)) for i in range(len(d))]+[sum(d)>n]):
print n
a-=1
n+=1