shell求質數

shell求質數,很多人面試的時候會遇到

 

  1. #!/bin/sh  
  2. for((i=10000;i<=12000;i++))  
  3. do   
  4.         for((k=2;k<=i;k++))  
  5.         do   
  6.                 if [ $k -eq $i ]  
  7.                 then 
  8.                         echo "$i su shu" 
  9.                         break  
  10.  
  11.                 fi  
  12.                 if [ $(($i%k)) -eq 0 ]  
  13.                 then break  
  14.                 fi  
  15.         done  
  16. done 

 

 

 

  1. #!/bin/bash  
  2.    
  3. i=19000  
  4. N=20000  
  5.  
  6. while [ "$i" -lt "$N" ]  
  7. do  
  8.         flag=1  
  9.         j=2  
  10.         k=$(echo "sqrt($i)"|bc)  
  11.         while [ "$j" -le "$k" ]  
  12.         do  
  13.                 let "m = $i % $j" 
  14.                 if [ "$m" -eq 0 ]  
  15.                 then 
  16.                         flag=0  
  17.                 fi  
  18.                 let "j = $j + 1" 
  19.         done  
  20.         if [ "$flag" -eq 1 ]  
  21.         then 
  22.                 echo $i  
  23.         fi  
  24.         let "i = $i + 1" 
  25. done 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章