2 条题解

  • 0
    @ 2023-12-25 20:57:06

    力扣第50题

    • 0
      @ 2023-12-15 13:31:32

      快速幂+判断上的技巧

      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博客

      • 1

      信息

      ID
      35
      时间
      1000ms
      内存
      128MiB
      难度
      9
      标签
      递交数
      33
      已通过
      4
      上传者