pow() べき乗 余り

使い方

int / float = pow( float1 , float2 )

float1 の float2 乗をかえします
返り値が少数のときはfloat形 整数のときはint形です

print(pow(2,3))
#結果 8

2の3乗(2*2*2)の計算結果8が表示されます

**を使った計算

print(2**3)
#結果 8


pow(2,3) は 2**3 と同じ結果になります

余りの計算

int = pow( int1 , int2 , int3)
3項を入力するときはすべてint型で与える必要があります

int1 の int2 乗を int3 で割ったあまりが返ります

int1 = pow(2,3,3)
print(int1)
#結果 2

2の3乗の計算結果8を3で割ったあまり2が表示されます

計算速度 比較 ①pow(a,b,c)②pow(a,b)%c③a**b%c

import time
start = time.time()
for i in range(10000000):
    a=pow(2,4,3)
print(time.time()-start)

#結果①pow(a,b,c) 20.496084213256836

start = time.time()
for i in range(10000000):
    a=pow(2,4)%3
print(time.time()-start)

#結果②pow(a,b)%c 10.069231986999512

start = time.time()
for i in range(10000000):
    a=2**4%3
print(time.time()-start)

#結果③a**b%c 1.4967987537384033

それぞれの計算を10M回ずつ実行して時間を計測しました

①pow(a,b,c) は20秒
②pow(a,b)%c は10秒
③a**b%c は1秒

a**b%cを利用するのが高速です