如何在shell脚本中使用for循环打印素数
我想在shell脚本中使用for循环打印素数。请提供一些建议 实际上,我可以打印1到100之间的奇数,但现在我无法打印素数。提供一些脚本来打印素数如何在shell脚本中使用for循环打印素数,shell,for-loop,Shell,For Loop,我想在shell脚本中使用for循环打印素数。请提供一些建议 实际上,我可以打印1到100之间的奇数,但现在我无法打印素数。提供一些脚本来打印素数 # cat prime.sh #!/bin/bash for ((i=1; i<=100; i++)) do output=$(( $i % 2)) if [ $output -ne 0 ] then echo "We got odd numbers: $i" fi done
# cat prime.sh
#!/bin/bash
for ((i=1; i<=100; i++))
do
output=$(( $i % 2))
if [ $output -ne 0 ]
then
echo "We got odd numbers: $i"
fi
done
#cat prime.sh
#!/bin/bash
对于((i=1;i),下面的代码返回指定范围内的素数列表
下面的命令返回10到30之间的素数
/filename.sh 10 30
#!/bin/bash
# Check if a number is prime
# function to return whether prime or not
check_prime() {
current_number=$1
flag=0
i=2
while test $i -le `expr $current_number / 2`
do
if test `expr $current_number % $i` -eq 0
then
flag=1
fi
i=`expr $i + 1`
done
if test $flag -eq 0
then echo $current_number
fi
}
# Assign From and to number
from_number=$1
to_number=$2
for (( number=$from_number; number<=$to_number; number++ ))
do
check_prime $number
done
!/bin/bash
#检查一个数字是否为素数
#函数返回是否为素数
检查素数(){
当前_编号=$1
标志=0
i=2
而测试$i-le`expr$当前\u编号/2`
做
如果测试'expr$当前\u编号%$i`-等式0
然后
标志=1
fi
i=`expr$i+1`
完成
如果测试$flag-等式0
然后回显$current\u编号
fi
}
#从和分配到数字
from_number=$1
收件人号码=$2
对于((number=$from_number;numbery)您需要做一些关于寻找生成素数的算法的研究(例如,Eratosthenes的筛选),然后尝试在shell中实现它。到目前为止,您在素数方面尝试了哪些内容?如果社区能够提供代码片段,这将更容易实现。此外,您使用%2条件检查奇数的方式,只需将其替换为素数条件即可numbers@glenn杰克曼:我是新来壳牌的,所以问一些人我不想帮忙,否则我会调查的。谢谢你的建议。你只要把它们打印出来就行了echo 1 3 5 7 11 13 17
?