Shell 脚本:查找 500 以内的所有素数
#!/bin/bash
for (( i=2; i<=500; i++ ))
do
is_prime=true
for (( j=2; j<=i/2; j++ ))
do
if [ $((i%j)) -eq 0 ]
then
is_prime=false
break
fi
done
if [ '$is_prime' = true ]
then
echo $i
fi
done
解释:
- 用两个
for循环,外层循环从 2 到 500,内层循环从 2 到当前数的一半。 - 判断当前数是否能被内层循环中的任意一个数整除,如果可以,则不是素数,退出内层循环。
- 如果内层循环结束后仍然没有退出,说明当前数是素数,输出它。
原文地址: https://www.cveoy.top/t/topic/nlHA 著作权归作者所有。请勿转载和采集!