shell指令碼 列出質數

2022-08-17 04:36:19 字數 1001 閱讀 9031

#!/bin/sh

for((i=1;i<=100;i++))

dofor((k=2;k<=i;k++))

doif [ $k -eq $i ]

then

echo"$i

"break

elif [ $(($i%k)) -eq 0

]

then

break

fidone

done

優化版本:(至少提高速度30%)

#!/bin/sh

for((i=1;i<=2000;i++))

dofor((k=2;k<=i;k++))

doif [ $k -eq $i ]

then

echo"$i

"break

elif [ $(($i%k)) -eq 0

]

then

break

#優化部分,如果除以乙個數本身的二分之一後還不為0,那麼可以肯

#---定這個數不會再被任何數整除(本身除外)

elif [ $k -eq $(($i/2

)) ]

then

echo"$i

"break

fidone

done

測試結果:

列出1-2000裡的質數

執行優化前的指令碼:

[root@bj ~]# time (sh zhishu.sh)

real    0m11.840s

user    0m11.559s

sys     0m0.248s

執行優化後的指令碼:

[root@bj ~]# time (sh zhishu.sh)

real    0m6.617s

user    0m6.444s

sys     0m0.156s

Shell指令碼(三) Shell指令碼入門

1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...

Shell指令碼和shell

1.shell script,shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,畢竟它使用了linux un...

shell 執行shell指令碼

bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。echo 命令用於向視窗輸出文字。1 作為可執行程式 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼注意,一定要寫成 test...