Вот мой код:Как ограничить работу Python только целыми числами?
import math
# I define a function that will calculate the log
def shank(a,p,z):
x=math.log(p,a)%z
return (x)
print("First log")
print(shank(106, 12375, 24691))
print("Second log")
print(shank(6, 248388, 458009))
Я получаю правильные ответы, но это не дает мне целых чисел. Например, если я вход
print(shank(3, 525, 809))
я 5,701190790597276, а 309 также работает и будет ответ, который я предпочитаю. Спасибо за любую помощь.
Вы пытаетесь вычислить дискретные логарифмы? 'math.log (p, a)% z' не является дискретным логарифмом. – user2357112
Вы должны дать правильное описание того, что вы пытаетесь сделать, хотя это выглядит скорее как математическая проблема, чем проблема программирования. – wvdz
Ответ 'math.log (p, a)' возвращает float, поэтому я не знаю, почему вы ожидаете целое число. – physicalattraction