Mashkov-Daniil1764
?>

Чем отличаются эти два скрипта повернуть на 15 градусов от повернуться в направлении 90​ лучший ответ и сердце

Информатика

Ответы

tyrenumberone

Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.

В ответе укажите два числа – сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.

Объяснение:

Kotvitskii

 Для начала определим функцию определения простого числа:

def issimple(n):

   r=math.ceil(math.sqrt(n))

   for i in range(2,n):

       if n%i==0:

           return False

   return True

  для оптимизации перебираем числа до квадратного корня искомого числа. Если n делится на хотя бы одно число от 2-х до корня n возвращаем false. Иначе True

Приведу полный оптимизированный текст:

import math

def issimple(n):

   r=math.ceil(math.sqrt(n))

   for i in range(2,n):

       if n%i==0:

           return False

   return True

n=5

s=[2,3]

while True:

   if issimple(n) is True:

       s.append(n)

   if len(s)==10001:

       break

   n+=2

print(s[-1])

Объяснение:Не смотря на все попытки дальнейшей оптимизации цикл выполняется чуть меньше 3-х минут.  

Основные принципы оптимизации: перебираем начиная с 5-ти и увеличиваем на 2 (чтобы не включать четные числа.  

Условием выхода из цикла является длина списка = 10001

Если у вас получится выполнить задачу более оптимально рада услышать ваши предложения.  

НАДЕЮСЬ ТЫ ПОНЯЛ(А)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Чем отличаются эти два скрипта повернуть на 15 градусов от повернуться в направлении 90​ лучший ответ и сердце
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

koxhulya61
Vasilevna_Mikhail19
ИП Жанара
ЧумичеваГеннадьевна1827
dimiff5
cleopatra1959
oksit
lele52
sveta073120
zaravshan20134
larisau41
Viktoriya
luxoutlet
Magnolia200872
Olifirenko119