23 за быстрый ответ !
в операционной системе winux реализована следующим образом: каждую секунду , которая была активна (то есть находилась в начале списка ), ставится в конец списка , а все остальные сдвигаются на одну к началу. в одной секретной лаборатории компьютер под winux используется для решения вычислительных . вычислениями занимается solve. с утра список состоял из n , причём solve существовала в нескольких экземплярах, каким-то образом распределённых по списку. вечером в списке по-прежнему было n ; более того, все экземпляры solve были ровно на тех же местах в списке, что и с утра, но при этом список в целом различался (то есть на какой-то позиции с утра и вечером стояли разные ). при этом за день ни одна не должна была завершиться и ни одна новая не должна была быть запущена. вы — разработчик модуля защиты информации в системе winux. ваша — по заданному n определить, обязательно ли из полученной информации следует, что как минимум одна завершилась и как минимум одна была запущена, или же ситуация могла произойти естественным образом. так как лаборатория секретная, никакой другой информации, кроме числа , у вас нет.
Само объяснение очень большое. Делится им смысла не вижу. В целом все сводится к проверке числа на простоту. Причем надо это сделать с быстрого алгоритма.
Следующее решение приведено на языке Python 3.4.3:
# is_prime() - функция проверки числа на простоту.
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' )