Нужна помощь с shell скриптом.

Discussion in 'Безопасность и Анонимность' started by m0le[x], 16 Dec 2009.

  1. m0le[x]

    m0le[x] Wardriver

    Joined:
    25 Oct 2006
    Messages:
    759
    Likes Received:
    576
    Reputations:
    105
    Линуксойды, обращаюсь к вам за помощью.

    В общем нужно написать shell скрипт, который подсчитает все простые числа. Диапазон чисел задается аргументами.
    В случае если, аргументы отсутствуют, использовать диапазон от 10000 до 13000.
    Результат сохранить в файл, числа необходимо сгруппировать по 1 шт. в стоке + пустая
    строка через каждые 5 чисел, имя файла задается пользователем. На экран вывести
    время, затраченное на поиск чисел в формате: total time elapsed: <время>, используя утилиту time.

    Заранее спасибо.
     
  2. m0le[x]

    m0le[x] Wardriver

    Joined:
    25 Oct 2006
    Messages:
    759
    Likes Received:
    576
    Reputations:
    105
    Такс.. задача упрощается, кто может, напишите пожалуйста только весь цикл, в котором идет проверка по диапазону, и если число простое то выводится на экран, а после него переход на другую строку, а после 5 выведенных чисел, оставлять пустую строку.
     
  3. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,697
    Likes Received:
    3,139
    Reputations:
    236
    вот,
    для начала функция определяющая,
    простое число или нет. www.thinkdigit.com/forum/showpost.php?p=754202&postcount=6


    echo -e "Enter a number: \c"
    read num


    можно ввести в возрастающий цикл 10.000-13.000

    Code:
    #!/bin/sh
     
    i=2
    rem=1
     
    echo -e "Enter a number: \c"
    read num
     
    if [ $num -lt 2 ]; then
     echo -e "$num is not prime\n"
     exit 0
    fi 
     
    while [ $i -le `expr $num / 2` -a $rem -ne 0 ]; do
     rem=`expr $num % $i`
     i=`expr $i + 1`
    done
     
    if [ $rem -ne 0 ]; then
     echo -e "$num is prime\n"
    else
     echo -e "$num is not prime\n"
    fi
     
  4. m0le[x]

    m0le[x] Wardriver

    Joined:
    25 Oct 2006
    Messages:
    759
    Likes Received:
    576
    Reputations:
    105
    altblitz, спасибо большое. А вообще еще актуально, кто поможет сделать скрипт покомпактней, у меня с этими циклами нездоровые мысли приходят. И на каком этапе разбивать на строки и делать пропуск строки, после каждого элемента, или уже потом после вывода всех данных?