求出 1——1000的素数,有一说一,感觉shell的效率有点儿一言难尽
朴素版
# ! bin/bash
for ((i=2;i<=1000;i++))
do
flag=1
for ((j=2;j<i;j++))
do
if [ `expr $i % $j` -eq 0 ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
echo $i
fi
done
优化版
# ! bin/bash
for ((i=2;i<=1000;i++))
do
flag=1
for ((j=2;j<=i/j;j++))
do
if [ `expr $i % $j` -eq 0 ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
echo $i
fi
done