Предмет: Информатика,
автор: seregadolgij
В операционной системе Winux многозадачность реализована следующим образом: каждую секунду задача, которая была активна (то есть находилась в начале списка задач), ставится в конец списка задач, а все остальные задачи сдвигаются на одну к началу.
В одной очень секретной лаборатории компьютер под управлением Winux используется для решения вычислительных задач. Вычислениями занимается задача solve. С утра список состоял из
N
задач, причём задача solve существовала в нескольких экземплярах, каким-то образом распределённых по списку. Вечером в списке по-прежнему было
N
задач; более того, все экземпляры задачи solve были ровно на тех же местах в списке, что и с утра, но при этом список задач в целом различался (то есть на какой-то позиции с утра и вечером стояли разные задачи). При этом за день ни одна задача не должна была завершиться и ни одна новая задача не должна была быть запущена.
Вы — разработчик модуля защиты информации в системе Winux. Ваша задача — по заданному
N
определить, обязательно ли из полученной информкции следует, что как минимум одна задача завершилась и как минимум одна задача была запущена, или же ситуация могла произойти естественным образом.
Так как лаборатория секретная, никакой другой информации, кроме числа задач, у Вас нет.
Формат ввода
Входные данные содержат одно целое число
N
(
2
≤
N
≤
1
0
9
).
Формат вывода
Выведите “Danger”, если непредвиденный запуск задачи гарантированно произошёл, или “Safe” в противном случае.
Пример 1
Ввод Вывод
5
Danger
Пример 2
Ввод Вывод
6
Safe
Примечания
Решением этой задачи должна являться программа на одном из представленных в системе языков программирования, решающая данную задачу. Программа должна считывать данные со стандартного ввода (клавиатуры) и выводить на стандартный вывод (монитор). Никаких дополнительных строк или символов выводить не разрешается.
Ответы
Автор ответа:
1
Само объяснение очень большое. Делится им смысла не вижу. В целом все сводится к проверке числа на простоту. Причем надо это сделать с помощью быстрого алгоритма.
Следующее решение приведено на языке Python 3.4.3:
def is_prime( num ):
d = 2
while d * d <= num and num % d != 0:
d += 1
return d * d > num
N = int( input() )
if is_prime( N ):
print( 'Danger' )
else:
print( 'Safe' )
Похожие вопросы
Предмет: Английский язык,
автор: roseemaryy99
Предмет: Алгебра,
автор: kurylooleksii
Предмет: Химия,
автор: Tinysikkk
Предмет: История,
автор: Ksushaold