shell编程-实现线性筛
生活随笔
收集整理的這篇文章主要介紹了
shell编程-实现线性筛
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
shell編程-實現線性篩
#!/bin/bash arr=(1 1) prime_arr=()function initArray(){for (( a=2; $a<$end_num; a++ ))doarr[$a]=0done } function make_prime(){for (( i=2; $i<$end_num; i++ ))do#echo $[arr[$i]]if [ $[arr[$i]] -gt 1 ]thencontinuefiif [ $i -gt 10 ]thencontinuefifor (( j=$[ $i*2 ]; $j<=$end_num; j+=$i))doarr[$j]=1;#echo $jdonedone } function print_prime_arr(){prime_cont=0for (( a=start_num; $a<$end_num; a++))doif [ $[arr[$a]] -eq 0 ]then#echo $prime_countprime_arr[$prime_count]=$aprime_count=$[ $prime_count + 1 ]fidone } function calc_prime_sum() {prime_sum=0for (( a=0; $a<${#prime_arr[@]}; a++ ))do# echo $ai=$[prime_arr[$a]]# echo $iprime_sum=$[ $prime_sum + $i]doneecho "PRIME_SUM = $prime_sum" } function showArrays(){# echo "Elements in arr: ${arr[@]}"# echo "Length of arr: ${#arr[@]}"echo "Elements in prime_arr: ${prime_arr[@]}"echo "Length of prime_arr: ${#prime_arr[@]}" }read -p "Please enter your start_num: " start_num read -p "Please enter your end_num: " end_num Min_line=0 Max_line=9999# 判斷輸入下界 if [ $start_num -lt $Min_line ] thenstart_num=0 fi;echo "start_num: $start_num end_num : $end_num"initArray make_prime print_prime_arr showArrays calc_prime_sum總結
以上是生活随笔為你收集整理的shell编程-实现线性筛的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS学习笔记-ROS语音识别与语音输出
- 下一篇: vscode给java项目传递args[