Как напечатать простые числа, используя для l oop в сценарии оболочки - PullRequest
0 голосов
/ 10 февраля 2020

Я хочу напечатать простые числа, используя для l oop в сценарии оболочки. Пожалуйста, предоставьте некоторые предложения.

На самом деле я мог печатать нечетные числа в диапазоне от 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

1 Ответ

0 голосов
/ 10 февраля 2020

Приведенный ниже код возвращает список простых чисел в указанном диапазоне.

приведенная ниже команда возвращает простые числа в диапазоне от 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
...