372 超級次方(演算法思維系列)

2021-10-20 09:38:55 字數 666 閱讀 6654

你的任務是計算 a的b次方 對 1337 取模,a 是乙個正整數,b 是乙個非常大的正整數且會以陣列形式給出。

主要掌握(a*b)%k=(a%k)(b%k)%k主要思路見書355

class

solution

//取出最後乙個數

int last = b[b.length -1]

;//更新一下b

b = arrays.

copyofrange

(b,0

, b.length -1)

;int part1 =

mypow

(a, last)

;int part2 =

mypow

(superpow

(a, b),10

);return

(part1 * part2)

% base;

}//計算a的k次方,然後與base求模

public

intmypow

(int a,

int k)

return res;

}}

372 超級次方

你的任務是計算 ab 對 1337 取模,a 是乙個正整數,b 是乙個非常大的正整數且會以陣列形式給出。示例 1 輸入 a 2,b 3 輸出 8 示例 2 輸入 a 2,b 1,0 輸出 1024 示例 3 輸入 a 1,b 4,3,3,8,5,2 輸出 1 示例 4 輸入 a 2147483647...

345,超級次方

你的任務是計算 a b 對 1337 取模,a 是乙個正整數,b 是乙個非常大的正整數且會以陣列形式給出。示例 1 輸入 a 2,b 3 輸出 8 示例 2 輸入 a 2,b 1,0 輸出 1024 答案 public intsuperpow1 int a,int b return res int ...

345,超級次方

你的任務是計算 a b 對 1337 取模,a 是乙個正整數,b 是乙個非常大的正整數且會以陣列形式給出。示例 1 輸入 a 2,b 3 輸出 8 示例 2 輸入 a 2,b 1,0 輸出 1024 答案 public intsuperpow1 int a,int b return res int ...