Я написал программу для поиска двух больших простых чисел, которые используются в ключе RSA. Это просто вызов КТФ. Проблема, с которой я сталкиваюсь, состоит в том, что число показывается в степени 10, что мне не нужно. Я хочу, чтобы результат был в полной числовой форме (не в десятичной степени, но может быть в десятичной).
Я уже пробовал десятичную библиотеку python, но я не знаю, почему это приводит к неправильному ответу. Когда удалена десятичная библиотека и ее функции, она показывает правильный результат. Однако даже во время результата библиотека десятичных чисел не дает полного ответа.
Код:
import math
n = 456378902858290907415273676326459758501863587455889046415299414290812776158851091008643992243505529957417209835882169153356466939122622249355759661863573516345589069208441886191855002128064647429111920432377907516007825359999
s=str(math.sqrt(n))
print (s)
s=math.ceil(s)
print(s)
k=(s*s)-n
print(k)
k=math.ceil(k)
j=math.sqrt(k)
print(j)
p= (s-j)
q= (s+j)
print("p = " , p)
print("q = " , q)
i = p*q
l = n-i
print(l)
В этом результате 0 из л. Но p и q, которые мне требуются, в огромных количествах и (2.136302629426752e + 112) в степени 10 формы.