bash打印从 1-100 的素数,每个一行。
时间: 2024-03-21 13:44:14 浏览: 13
可以使用以下脚本来实现:
```bash
#!/bin/bash
for ((i=2;i<=100;i++))
do
flag=0
for ((j=2;j<i;j++))
do
if [ $((i%j)) -eq 0 ]
then
flag=1
break
fi
done
if [ $flag -eq 0 ]
then
echo $i
fi
done
```
在这个脚本中,我们使用了两个for循环来遍历从2到100的每个数字。对于每个数字,我们检查它是否为素数。如果它是素数,则打印出来。要检查一个数字是否为素数,我们遍历从2到该数字的前一个数字,并检查该数字是否可以被其中任何一个数字整除。如果可以被整除,则该数字不是素数。如果没有数字可以整除该数字,则该数字是素数,我们打印它。
相关问题
shell脚本输出100-999之间的素数每行十个
要输出100-999之间的素数,并且每行显示十个素数,可以使用shell脚本来实现。以下是一个示例脚本:
```shell
#!/bin/bash
count=0
for ((num=100; num<=999; num++))
do
is_prime=true
for ((i=2; i<=num/2; i++))
do
if ((num%i==0))
then
is_prime=false
break
fi
done
if $is_prime
then
echo -n "$num "
((count++))
if ((count%10==0))
then
echo
fi
fi
done
```
这个脚本使用两个循环来判断每个数字是否为素数。外层循环遍历100-999之间的数字,内层循环从2开始逐个除以数字的一半,如果能整除则不是素数。如果一个数字是素数,则输出该数字,并且计数器加一。当计数器达到10时,换行输出下一行的素数。
在bash环境中,找到1-100中的回文数
可以使用以下命令来找到1-100中的回文数:
```
for i in {1..100}; do
if [[ $i == $(echo $i | rev) ]]; then
echo $i
fi
done
```
这个命令会循环1到100之间的所有数字,并使用 `rev` 命令将每个数字反转。然后,它检查反转后的数字是否与原始数字相等,如果是,则打印该数字。这样就可以找到1-100中的回文数。