原题链接传送门
题目描述:
一个数的整数次幂,是我们在计算中经常用到的,但是怎么可以在 O(log(n)) 的时间内算出结果呢?
代码框中的代码是一种实现,请分析并填写缺失的代码,求 x^y mod p 的结果。
做了好几道蓝桥杯代码填空题,发现这类题都是递归。。。
要参加蓝桥杯的小伙伴做这类题时往递归方向走就可以推出来。
答案:pw(x,y >> 1,p) * pw(x,y >> 1,p) % p
或 pw(x,y/2,p) * pw(x,y/2,p) % p
原题链接传送门
题目描述:
一个数的整数次幂,是我们在计算中经常用到的,但是怎么可以在 O(log(n)) 的时间内算出结果呢?
代码框中的代码是一种实现,请分析并填写缺失的代码,求 x^y mod p 的结果。
做了好几道蓝桥杯代码填空题,发现这类题都是递归。。。
要参加蓝桥杯的小伙伴做这类题时往递归方向走就可以推出来。
答案:pw(x,y >> 1,p) * pw(x,y >> 1,p) % p
或 pw(x,y/2,p) * pw(x,y/2,p) % p