摘要: 题目描述: superPow(int a, int[] b),b是一个int数组,每个元素都是正的个位数,组合起来表示一个正整数,例如b=[1,2,3]表示123,求解a^b mod 1337. 思路描述: 本题的难点是当a和b足够大时会造成溢出,因此应考虑其他算法来实现。 理论支持(转幂算法): 阅读全文
posted @ 2016-11-04 19:39 沧浪少年 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 自己实现pow(double x, int n)方法 实现思路: 考虑位运算。考虑n的二进制表示形式,以n=51(110011)为例,x^51 = x^1*x^2*x^16*x^32,因此每次将n无符号右移一位,并将x取当前值的平方,如果n右移后末位 为1,则将res*x。考虑特殊情况, 阅读全文
posted @ 2016-11-04 15:58 沧浪少年 阅读(389) 评论(0) 推荐(0) 编辑