2 条题解
-
0
快速幂+判断上的技巧
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); String b1 = Integer.toString(b, 2); long res = 1; long last = a; for (int i = b1.length() - 1; i >= 0; i--) { if(b1.charAt(i) == '1'){ res *= last; } if(last > 1e9) { res = (long) 1e9 + 1; break; } if(res > 1e9) break; last = last * last; } if(res <= 1e9 && res >= 0)System.out.println(res); else System.out.println(-1); } }
学习链接:快速幂算法 超详细教程-CSDN博客
信息
- ID
- 35
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 33
- 已通过
- 4
- 上传者