用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/b0Xx 著作权归作者所有。请勿转载和采集!