shell脚本循环求取100以内的质数
时间: 2023-08-22 18:04:28 浏览: 82
你可以使用以下的shell脚本来循环求取100以内的质数:
```bash
#!/bin/bash
echo "质数列表:"
for ((i=2; i<100; i++)); do
is_prime=true
for ((j=2; j<=i/2; j++)); do
if ((i % j == 0)); then
is_prime=false
break
fi
done
if $is_prime; then
echo $i
fi
done
```
这段脚本会循环检查每个数字是否为质数,并将质数打印出来。注意,质数是指只能被1和自身整除的大于1的整数。在这个脚本中,我们使用两个嵌套的循环来检查每个数字是否有其他因子。如果没有其他因子,则该数字被认为是质数,并打印出来。
相关问题
shell脚本求100以内质数
以下是一个求100以内质数的shell脚本:
```
#!/bin/bash
for ((i=2;i<=100;i++))
do
flag=
for ((j=2;j<i;j++))
do
if [ $((i%j)) -eq ]
then
flag=1
break
fi
done
if [ $flag -eq ]
then
echo $i
fi
done
```
解释一下:
- 第一行指定了使用bash作为解释器。
- 第二行开始是一个for循环,从2到100遍历每个数。
- 内层的for循环从2到当前数的前一个数遍历,判断当前数是否能被整除。
- 如果当前数能被某个数整除,则说明不是质数,将flag标记为1,并跳出内层循环。
- 如果flag仍然为,则说明当前数是质数,输出它。
运行这个脚本,会输出2到100之间的所有质数。
shell编写一个循环输出100以内质数的脚本
好的,以下是一个编写循环输出100以内质数的Shell脚本:
```shell
#!/bin/bash
is_prime() {
num=$1
if [ $num -eq 1 ]; then
return 1
fi
for ((i=2; i<=num/2; i++)); do
if [ $((num%i)) -eq 0 ]; then
return 1
fi
done
return 0
}
for ((num=2; num<=100; num++)); do
is_prime $num
if [ $? -eq 0 ]; then
echo $num
fi
done
```
该脚本定义了一个函数`is_prime`,用于判断一个数是否为质数。在主循环中,从2到100遍历每个数字,并调用`is_prime`函数进行判断。如果返回值为0,则打印该数字。