我是菜鸡菜鸡菜鸡自用
三个数a,b,c(1<a,b,c<1e18)
a^b%c样例输入
2 3 5样例输出
3
装13版本
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();
long b = sc.nextLong();
long c = sc.nextLong();
long ans = 1L;
a = a%c;
while(b!=0) {
if((b&1)==1) ans = (ans*a)%c;
a = (a*a)%c;
b >>= 1;
}
System.out.println(ans);
}
}
菜鸡新手版本
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();
long b = sc.nextLong();
long c = sc.nextLong();
long ans = 1L;
a = a%c;
while(b!=0) {
if(b%2==1) ans = (ans*a)%c;
a = (a*a)%c;
b = b/2;
}
System.out.println(ans);
}
}
试了试第一种更快,第二种略慢