Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 15, 2022 14:38:30

rusaitovv
Зарегистрирован: 2022-05-27
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

Решаю 3 задачу эйлера, написал вроде правильный и работающий код, но он очень долгий и даже спустя 3 часа ожидания ничего не смог показать

 a = 600851475143
from sympy import *
for i in range(a - 1, 1, -1):
	if a % i == 0 and isprime(i) == 'True':
		print(i)
		break

Офлайн

#2 Июнь 15, 2022 14:52:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

rusaitovv
Решаю 3 задачу эйлера,
и по вашему все знают, что такое задача эйлера номер три?



Офлайн

#3 Июнь 15, 2022 14:57:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

rusaitovv
вместо того, чтобы итерировать по ряду натуральных чисел и для каждого вычислять не является ли оно простым, не логичнее ли идти по ряду простых чисел?



Офлайн

#4 Июнь 15, 2022 14:58:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

FishHook
isprime(i) == ‘True’
это точно так работает?



Офлайн

#5 Июнь 15, 2022 15:17:33

rusaitovv
Зарегистрирован: 2022-05-27
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

FishHook
rusaitovvвместо того, чтобы итерировать по ряду натуральных чисел и для каждого вычислять не является ли оно простым, не логичнее ли идти по ряду простых чисел?
точно, сейчас подумаю как это осуществить, задачи эйлера находятся на сайте задач эйлера, это я написал кому просто будет интересно посмотреть, что я решаю

Офлайн

#6 Июнь 15, 2022 15:21:36

rusaitovv
Зарегистрирован: 2022-05-27
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

FishHook
да только что проверил по этому коду
 from sympy import *
a = int(input())
print(isprime(a))
при вводе 1 вывел False

Офлайн

#7 Июнь 15, 2022 15:27:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

а сделай вот так

 print(type(isprime(a)))



Офлайн

#8 Июнь 15, 2022 15:31:15

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

rusaitovv
задачи эйлера находятся на сайте задач эйлера, это я написал кому просто будет интересно посмотреть, что я решаю


это как минимум правило хорошего тона, если просишь о помощи, то не надо заставлять людей делать лишнюю работу - ходить по сайтам и искать, что же такое задача номер три у эйлера. Условие задачи надо публиковать вместе с постом.



Офлайн

#9 Июнь 15, 2022 15:31:51

rusaitovv
Зарегистрирован: 2022-05-27
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

FishHook
а сделай вот так
при вводе 1 вывел <class ‘bool’>

Офлайн

#10 Июнь 15, 2022 15:33:02

rusaitovv
Зарегистрирован: 2022-05-27
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Ускорение и оптимизация кода.

FishHook
хорошо, понял, думал для оптимизации кода достаточно самого кода, тогда https://euler.jakumo.org/problems/view/3.html

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version