)
一、【模板】快速幂Ⅰ ‖ 模小整数import java.util.Scanner; public class Main { public static long powMod(long a, long b, long p) { long res 1; a a % p; while (b 0) { if (b % 2 1) { res res * a % p; } a a * a % p; b b / 2; } return res % p; // 关键最后再取一次模 } public static void main(String[] args) { Scanner in new Scanner(System.in); int T in.nextInt(); while (T-- 0) { long a in.nextLong(); long b in.nextLong(); long p in.nextLong(); System.out.println(powMod(a, b, p)); } } }运行结果二、【模板】分数取模import java.util.Scanner; public class Main { static final long MOD 1000000007L; public static long powMod(long a, long b, long p) { long res 1; a a % p; while (b 0) { if (b % 2 1) { res res * a % p; } a a * a % p; b / 2; } return res % p; } public static void main(String[] args) { Scanner in new Scanner(System.in); int t in.nextInt(); while (t-- 0) { long a in.nextLong(); long b in.nextLong(); long invB powMod(b, MOD - 2, MOD); long ans a % MOD * invB % MOD; // 处理负数转为正模 if (ans 0) ans MOD; System.out.println(ans); } } }运行结果三、子数列求积import java.util.Scanner; public class Main { static final long MOD 1000000007L; public static long powMod(long a, long b, long p) { long res 1; a a % p; while (b 0) { if (b % 2 1) { res res * a % p; } a a * a % p; b / 2; } return res % p; } public static void main(String[] args) { Scanner in new Scanner(System.in); int n in.nextInt(); int q in.nextInt(); long[] pre new long[n 1]; pre[0] 1; for (int i 1; i n; i) { long x in.nextLong(); pre[i] pre[i - 1] * x % MOD; } StringBuilder sb new StringBuilder(); for (int i 0; i q; i) { int l in.nextInt(); int r in.nextInt(); long inv powMod(pre[l - 1], MOD - 2, MOD); long ans pre[r] * inv % MOD; sb.append(ans).append( ); } System.out.println(sb.toString().trim()); } }运行结果四、好多次方import java.util.Scanner; public class Main { static final long MOD 1000000007L; static final long PHI MOD - 1; // 1000000006 public static long powMod(long a, long b, long p) { long res 1; a a % p; while (b 0) { if (b % 2 1) { res res * a % p; } a a * a % p; b / 2; } return res % p; } public static void main(String[] args) { Scanner in new Scanner(System.in); int T in.nextInt(); while (T-- 0) { long a in.nextLong(); long b in.nextLong(); long c in.nextLong(); long exp powMod(b, c, PHI); long ans powMod(a, exp, MOD); System.out.println(ans); } } }运行结果五、放苹果import java.util.Scanner; public class Main { public static int dfs(int m, int n) { if (m 0) return 1; if (n 1) return 1; if (n m) return dfs(m, m); return dfs(m, n - 1) dfs(m - n, n); } public static void main(String[] args) { Scanner sc new Scanner(System.in); int m sc.nextInt(); int n sc.nextInt(); System.out.println(dfs(m, n)); } }运行结果