Найти - Пользователи
Полная версия: Ускорение и оптимизация кода.
Начало » Python для новичков » Ускорение и оптимизация кода.
1 2
rusaitovv
Решаю 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
FishHook
rusaitovv
Решаю 3 задачу эйлера,
и по вашему все знают, что такое задача эйлера номер три?
FishHook
rusaitovv
вместо того, чтобы итерировать по ряду натуральных чисел и для каждого вычислять не является ли оно простым, не логичнее ли идти по ряду простых чисел?
FishHook
FishHook
isprime(i) == ‘True’
это точно так работает?
rusaitovv
FishHook
rusaitovvвместо того, чтобы итерировать по ряду натуральных чисел и для каждого вычислять не является ли оно простым, не логичнее ли идти по ряду простых чисел?
точно, сейчас подумаю как это осуществить, задачи эйлера находятся на сайте задач эйлера, это я написал кому просто будет интересно посмотреть, что я решаю
rusaitovv
FishHook
да только что проверил по этому коду
 from sympy import *
a = int(input())
print(isprime(a))
при вводе 1 вывел False
FishHook
а сделай вот так
 print(type(isprime(a)))
FishHook
rusaitovv
задачи эйлера находятся на сайте задач эйлера, это я написал кому просто будет интересно посмотреть, что я решаю


это как минимум правило хорошего тона, если просишь о помощи, то не надо заставлять людей делать лишнюю работу - ходить по сайтам и искать, что же такое задача номер три у эйлера. Условие задачи надо публиковать вместе с постом.
rusaitovv
FishHook
а сделай вот так
при вводе 1 вывел <class ‘bool’>
rusaitovv
FishHook
хорошо, понял, думал для оптимизации кода достаточно самого кода, тогда https://euler.jakumo.org/problems/view/3.html
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB