28 lines
452 B
Awk
28 lines
452 B
Awk
#!/bin/awk -f
|
|
function sumprop(num, i,sum,root) {
|
|
if (num < 2) return 0
|
|
sum=1
|
|
root=sqrt(num)
|
|
for ( i=2; i < root; i++) {
|
|
if (num % i == 0 )
|
|
{
|
|
sum = sum + i + num/i
|
|
}
|
|
}
|
|
if (num % root == 0)
|
|
{
|
|
sum = sum + root
|
|
}
|
|
return sum
|
|
}
|
|
|
|
BEGIN{
|
|
limit=20000
|
|
print "Amicable pairs < ",limit
|
|
for (n=1; n < limit+1; n++)
|
|
{
|
|
m=sumprop(n)
|
|
if (n == sumprop(m) && n < m) print n,m
|
|
}
|
|
}
|
|
}
|