#! /bin/bash
for (( i=1; i<=1000; ++i ))
do
s=0
for (( j=1; 2*j<=i; ++j ))
do
let tmp=$i%$j
if [[ $tmp -eq 0 ]]; then
let s=$s+$j
fi
done
if [[ $s -eq $i ]]; then
echo $i
fi
done
awk 'BEGIN{for(i=1;i<=1000;i++){s=0;for(j=i;j>1;j--){t1=i%j;t2=i/j;if(t1==0)s+=t2}if(s==i)print i}}' 也行
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-1431562/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-1431562/