Я пытаюсь создать код, который сначала найдет мне все идеальные квадраты под modulos p
, в функции perfectsq(p)
.Использование списков для поиска решений
С этим списком идеальных квадратов. Я хочу найти все решения уравнения y^2=x^3+Ax+B
. Я делаю это, используя список в perfectsq(p)
, чтобы проверить, что в этом списке m=x^3+Ax+B
. Может кто-нибудь сказать мне, почему этот код не компилируется?
def perfectsq(p):
x=[]
for i in range(1,p):
m=(i**2)%p
x.extend(m)
i+=1
def ellipticpt(a, b, p):
x=perfectsq(p)
if 4*(a**3)+27*(b**2) != 0:
for i in range(0,p):
m=(i**3+a*i+b)%p
if m in x:
i=x.index(m)+1
print (m,i)
i+=1
else:
i+=1
else:
print "Error"
какая ошибка поживаешь? –
Если вы находитесь в Python 3+, 'print' требует скобки:' print ("Error") '. –
=============================== >>> >>> ellipticpt (8,7,73) Traceback (самый последний вызов последнего): Файл "", строка 1, в ellipticpt (8,7,73) Файл "C: \ Users \ Alexandra \ Anaconda \ Scripts \ Alexandra \ Проблема Set C Code" , строка 54, в эллиптической форме x = perfectsq (p) Файл «C: \ Users \ Alexandra \ Anaconda \ Scripts \ Alexandra \ Problem Set C Code», строка 50, в perfectsq x.extend (m) ТипError: Объект 'int' не повторяется –