#python #loops
Вопрос:
функция этой программы заключается в вычислении суммирования. он начинается, когда пользователь вводит четыре целых числа, разделенных одиночными пробелами, P, Q, N и M, которые представляют параметры в суммировании.Таким образом, он вычисляет значение Sn по модулю M для заданных чисел P, Q, N и M. Вопрос здесь в том, как сделать его эффективным с меньшим количеством строк.
P,Q,N,M=map(int,input().split())
sum1=0
for k in range(1,N 1,1):
sum1 =pow(P,k)*pow(k,Q)
print(sum1%M)
Комментарии:
1. самым быстрым способом было бы использовать математическую формулу для расчета этого (если таковая существует)
Ответ №1:
Вы можете использовать понимание генератора:
print(sum(pow(P, k) * pow(k, Q) for k in range(1, N 1)) % M)
хотя это не более эффективно; это просто переписывание кода по-другому.
Комментарии:
1. он показывает ненулевой код выхода на выходе, хотя спасибо
2. @user9910282 ну, тогда у вас либо другая версия, либо вы каким-то образом неправильно скопировали код, либо ошибка в любом случае не связана с этим, потому что их код работает для меня совершенно нормально, и с ним нет видимой проблемы