【蓝桥杯算法】Java的基础API

1. BigInteger 的使用

1.1. 判素数

复制代码
package 模板;

import java.math.BigInteger;
import java.util.Scanner;

public class 判素数 {
    static Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        int q = in.nextInt();
        while (q-- > 0) {
            BigInteger a = new BigInteger(in.next());
            if (a.isProbablePrime(20)) {
                System.out.println(a);
            } else {
                System.out.println(a.nextProbablePrime());
            }
        }
    }
}

1.2. 快速幂

复制代码
package 模板;

import java.math.BigInteger;
import java.util.Scanner;

public class 快速幂 {
    static Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        BigInteger b = new BigInteger(in.next());
        BigInteger p = new BigInteger(in.next());
        BigInteger k = new BigInteger(in.next());

        System.out.println(b.modPow(p, k));
    }
}

1.3. 求逆元

复制代码
package 模板;

import java.math.BigInteger;
import java.util.Scanner;

public class 逆元 {
    static Scanner in = new Scanner(System.in);

    public static void main(String[] args) {
        int q = in.nextInt();
        while (q-- > 0) {
            BigInteger a = new BigInteger(in.next());
            BigInteger b = new BigInteger(in.next());
            System.out.println(a.modInverse(b));
        }
    }
}

2. Arrays

  1. 直接对于 int 对象排序使用的是快排
  2. 对于 Integer 对象排序使用的是归并排序
相关推荐
tkevinjd8 分钟前
动态代理
java
Knight_AL12 分钟前
Spring 事务管理:为什么内部方法调用事务不生效以及如何解决
java·后端·spring
清木铎17 分钟前
leetcode_day4_筑基期_《绝境求生》
算法
清木铎20 分钟前
leetcode_day10_筑基期_《绝境求生》
算法
j_jiajia27 分钟前
(一)人工智能算法之监督学习——KNN
人工智能·学习·算法
4***172738 分钟前
Spring Boot中Tomcat配置
java
源代码•宸1 小时前
Golang语法进阶(协程池、反射)
开发语言·经验分享·后端·算法·golang·反射·协程池
Chan161 小时前
场景题:CPU 100% 问题怎么排查?
java·数据库·redis·后端·spring
qq_336313932 小时前
java基础-IO流(网络爬虫/工具包生成假数据)
java·爬虫·php
桦说编程2 小时前
滑动窗口限流器的演进之路:从调度器实现到 Packed CAS
java·后端·性能优化