anovikovsr
?>

Исполнитель чертёжник пе ре ме ща ет ся на ко ор ди нат ной плоскости, остав ляя след в виде линии. чертёжник может вы пол нять ко ман ду сме стить ся на (a, b) (где a, b – целые числа), пе ре ме ща ю щую чертёжника из точки с ко ор ди на та ми (x, y) в точку с ко ор ди на та ми (x + a, y + b если числа a, b положительные, зна че ние со от вет ству ю щей ко ор ди на ты увеличивается, если от ри ца тель ные — уменьшается. например, если чертёжник на хо дит ся в точке с ко ор ди на та ми (1, 1), то ко ман да сме стить ся на (–2, 4) пе ре ме стит чертёжника в точку (–1, 5). запись повтори k раз команда1 команда2 команда3 конец означает, что по сле до ва тель ность ко манд команда1 команда2 команда3 по вто рит ся k раз. чертёжнику был дан для ис пол не ния сле ду ю щий алгоритм: повтори 3 раз сместиться на (1, 3) сме стить ся на (–2, –5) конец сместиться на (4, 8) какую ко ман ду надо вы пол нить чертёжнику, чтобы вер нуть ся в ис ход ную точку, из ко то рой он начал движение? 1) сме стить ся на (–1, 2) 2) сме стить ся на (–1, –2) 3) сме стить ся на (1, –2) 4) сме стить ся на (–2, 1)

Информатика

Ответы

happygal5224

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

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

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

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

Объяснение:

euzdenova

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

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

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

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

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

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

Исполнитель чертёжник пе ре ме ща ет ся на ко ор ди нат ной плоскости, остав ляя след в виде линии. чертёжник может вы пол нять ко ман ду сме стить ся на (a, b) (где a, b – целые числа), пе ре ме ща ю щую чертёжника из точки с ко ор ди на та ми (x, y) в точку с ко ор ди на та ми (x + a, y + b если числа a, b положительные, зна че ние со от вет ству ю щей ко ор ди на ты увеличивается, если от ри ца тель ные — уменьшается. например, если чертёжник на хо дит ся в точке с ко ор ди на та ми (1, 1), то ко ман да сме стить ся на (–2, 4) пе ре ме стит чертёжника в точку (–1, 5). запись повтори k раз команда1 команда2 команда3 конец означает, что по сле до ва тель ность ко манд команда1 команда2 команда3 по вто рит ся k раз. чертёжнику был дан для ис пол не ния сле ду ю щий алгоритм: повтори 3 раз сместиться на (1, 3) сме стить ся на (–2, –5) конец сместиться на (4, 8) какую ко ман ду надо вы пол нить чертёжнику, чтобы вер нуть ся в ис ход ную точку, из ко то рой он начал движение? 1) сме стить ся на (–1, 2) 2) сме стить ся на (–1, –2) 3) сме стить ся на (1, –2) 4) сме стить ся на (–2, 1)
Ваше имя (никнейм)*
Email*
Комментарий*

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

Виктория1690
Лежачёва355
savva-vika
nikomuneskazhu60
vikanikita
Олег1105
Спиридонова
zibuxin6
kazanoop
kseniyavaganova
ainred
Михайлович1309
gav973
Inforealto
kukoleva