Курсовая (Pacal)

Web/сайты Прочее

Был(а) онлайн: 26.04.20 14:45
Umen 26 лет

1.0 Был(а) онлайн: 26.04.20 14:45

Недавно
Решить задачи на Turbo Pascal

1)
В определенных криптографических алгорифмах применяются крупные примитивные числа. Но проверить, является ли огромное число простым, не так-то примитивно.

Существуют проверки на простоту, основанные на рандомизации, владеющие высокой степенью точности и не требующие крупных расходов. Примером таких проверок может служить тест ферма. Пускай a- это случайное число между 2 и n-1, где n-это число, чью простоту мы проверяем. Тогда n возможно примитивное, если выполняется следующее условие: a^n mod n=a

Если число проходит тест ферма несколько раз, то оно является простым с огромный вероятностью.

К сожалению, у этого способа есть и минусы. Определенные комбинированные числа (не примитивные) проходят тест Ферма для всяких чисел поменьше их. Такие числа именуются числами Кармайкла (Carmichael).

Напишите программу, которая будет проверять, является ли заданное целое число числом Кармайкла.

Входные данные:

Входные данные состоят из последовательности строк, всякая из которых содержит малое позитивное число n (2<n<65000). Число n=0 обозначает конец входных данных, и его обрабатывать не надобно.

Выходные данные:

Для всего введенного числа выведите, является ли оно число Кармайкла.

2)
Дублетом именуются два слова, которые отличаются ровно в одной букве (скажем, “booster” и “rooster”, либо “rooster” и “roaster”, либо “roaster” и “roasted”).

Вам задается словарь длиной не больше 25143 слов, состоящих из строчных букв, причем длина всего слова не превышает 16 букв. Дальше вам задается некоторое число пар слов. Для всякой пары слов обнаружьте последовательность слов, имеющую наименьшую длину, причем первое слово последовательности должно совпадать с первым словом из заданной пары, а последнее слово последовательности – со вторым словом из пыры. Всякая пара соседних слов последовательности должна быть дублетом. Скажем, если вам задана пара “booster” и “roasted”, допустимым решением является “booster”, ”rooster”, ”roaster”, ”roasted”, при условии, что эти слова присутствуют в словаре.

Входные данные:

Файл входных данных содержит словарь, за которым следует некоторое число пар слов. Словарь состоит из произвольного числа слов, по одному на строку, и завершается пустой строкой. Дальше идут пары слов; вся из строка содержит пару слов, поделенных пробелом.

Выходные данные:

Для всякой введенной пары напечатайте комплект строк, начинающийся: первого слова и заканчивающийся последним. Вся пара соседних строк должна быть дублетом.

Если существует несколько вариантов минимальных решений, то подойдет всякое. Если решения не существует, выведите строку “No solution.” Между блоками должна быть пустая строка.

Чтобы добавить заявку к этому заказу, нужно войти или зарегистрироваться

Мой блок

26.04.20 14:45
Umen 26