mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
* Improved Formatting and Style I improved formatting and style to make PyLama happier. Linters used: - mccabe - pep257 - pydocstyle - pep8 - pycodestyle - pyflakes - pylint - isort * Create volume.py This script calculates the volumes of various shapes. * Delete lucasSeries.py * Revert "Delete lucasSeries.py" This reverts commit 64c19f7a6c8b74e15bed07f0f0337598a001ceb4. * Update lucasSeries.py
26 lines
489 B
Python
26 lines
489 B
Python
"""Modular Exponential."""
|
|
|
|
|
|
def modular_exponential(base, power, mod):
|
|
"""Calculate Modular Exponential."""
|
|
if power < 0:
|
|
return -1
|
|
base %= mod
|
|
result = 1
|
|
|
|
while power > 0:
|
|
if power & 1:
|
|
result = (result * base) % mod
|
|
power = power >> 1
|
|
base = (base * base) % mod
|
|
return result
|
|
|
|
|
|
def main():
|
|
"""Call Modular Exponential Function."""
|
|
print(modular_exponential(3, 200, 13))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|