Для начала определим функцию определения простого числа:
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
Если у вас получится выполнить задачу более оптимально рада услышать ваши предложения.
НАДЕЮСЬ ТЫ ПОНЯЛ(А)
Программа - алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий.
Транслятор.
Допустим, что написана программа решения задачи на каком-то языке программирования, но компьютер понимает только команды, переведенные в двоичный код. Этот перевод можно осуществить с трансляторов.
Транслятор - программа, переводящая текст алгоритма, записанного на каком-то языке программирования, на язык машинных кодов.
Различают два вида трансляторов: компиляторы и интерпретаторы. Они различаются с точки зрения выполнения работы.
Компилятор читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем загружается в компьютер и выполняется.
Интерпретатор переводит и выполняет программу строка за строкой (как синхронный переводчик).
Компилятор осуществляет синтаксический контроль программы и при обнаружении ошибок выдает диагностические сообщения. Если ошибок нет, результатом компиляции является программа на языке машинных команд (ее называют объектной).
Интегрированная среда Turbo Pascal.
Краткое знакомство.
Язык Паскаль появился в 1984 году. Он разработан Н.Виртом в 1968-1970 г.г., получил широкое распространение благодаря наглядности программ и легкости при изучении.
Объяснение:
надеюсь
Поделитесь своими знаниями, ответьте на вопрос:
Нужно написать 2 программы в visual basic for applications. 1)задан массив из n элементов. найти произведение элементов имеющих нечетные индексы/ 2)задан массив из n элементов. найти количество отрицательных элементов имеющих нечетные индексы.