中易网

shell怎么统计质数的个数

答案:2  悬赏:50  
解决时间 2021-02-22 19:25
shell怎么统计质数的个数
最佳答案
#!/bin/bash
function zhishu()
{
echo "输入为:${arr[*]}"
let k=${#arr[*]}
let j=0
for((t=1;t<=$k;t++))
do
var=`echo sqrt\(${arr[$t]}\) | bc`
let y=0
for((f=1;f<=$var;f++))
do
x=`expr ${arr[$t]} % $f`
if [ "$x" = "0" ];then
let y=y+1
fi
done
if [ $y -eq 1 ];then
let j=j+1
newarr[$j]=${arr[$t]}
fi
done
echo "其中,质数有$j个"
echo "分别为${newarr[*]}"

}
function shuzu()
{
for((w=1;w<=$num;w++))
do
echo "请输入第$w个数字"
read -p ':' number
arr[$w]=$number
done
zhishu ${arr[*]}
}
read -p '请指定预统计的数字个数:' num
shuzu $num
全部回答
for ((i&gt;101000;i&lt;102000;i++)) i 没有赋初值,默认是从0开始哦。这里是 i=101000 吧 if [ &#36;i%&#36;a = 0 ] 这句不对,只有在(( ))里才可以直接做算术运算, [ ]只是判断表达式,不可以的。 可以用expr计算,改为 if [ `expr &#36;i % &#36;a` -eq 0 ] 或者用shell内建命令let计算: let mod=i%a if [ &#36;mod -eq 0 ] 另外 if [ &#36;ret == 1 ] 也有问题,判断数值相等,用 -eq ;判断字符串相等,= 即可。 == 是c语言里的用法。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华硕k40af换屏需要写码
德阳市交警支队怎么去啊,有知道地址的么
被装饰过的鲜花插在土里怎样还能继续发芽生长
电动车充电器整流二极管烧坏是什么原因
为什么我的空间装扮商城打不开 我打了好几天
龙华装饰汽车调色中心我想知道这个在什么地方
我养的看樱桃和紫罗兰生了白色的小虫子
若一杯水的体积为100ml,质量是多少?这杯水
时令水果什么意思
英语四级考试夏季和冬季哪一场比较难??
五年制大专,跟高中毕业高考的大专,学历是一
刘涛代言过珍视明眼霜么?
长沙市公安局交通警察支队机动车驾驶人星沙分
广州那里有群控系统可以买?
如何发送短信取消移动40元流量包月套餐
推荐资讯
三个月的松狮毛应该有多长?什么颜色?
铺广场大理石人工费多少钱一平方
英伟达10代显卡win7支持吗?是不是必须用win7
五步拳可以实战吗?
益源百货门市地址在什么地方,想过去办事
鸿福18元私家菜在什么地方啊,我要过去处理事
plsql developer试用一个月怎么破解
香柏安护肤中心我想知道这个在什么地方
晚风把荣华吹涩,名利是如此浅薄,哥一生的峥嵘
康婷和海济生物哪个产品更好
中国邮政储蓄银行(东山县支行)地址在什么地方
PSP怎么查看型号和主板?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?