小明的求助
java——01超时
import java.math.BigInteger;
import java.util.Scanner;
public class Main_01 {//超时
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int N=input.nextInt();
int e=1;
while(N-->0){
BigInteger n=input.nextBigInteger();
long p=input.nextLong();
int m=input.nextInt();
int p1=(int)Math.sqrt(p);
int p2=(int)(p-p1);
BigInteger sum=n.pow(p1);
n=n.pow(p2);
sum=sum.multiply(n);
String num=sum.toString();
num=num.substring(num.length()-m, num.length());
System.out.println("Case #"+(e++)+": "+num);
}
}
}
java----02---AC--132MS
//AC-132MS
import java.util.Scanner;
public class Main_01 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int N=input.nextInt();
int e=1;
while(N-->0){
long n=input.nextLong();
long p=input.nextLong();
int m=input.nextInt();
System.out.println("Case #"+(e++)+": "+pow(n,p,(int)Math.pow(10, m)));
}
}
private static long pow(long n, long p, int m) {
if(p==1) return n%m;
long t;
t=pow(n,p/2,m)%m;
t=t*t%m;
if(p%2==0)
return t;
else
return n*t%m;
}
}
java--03---AC--412MS
import java.math.BigInteger;
import java.util.Scanner;
public class Main_01 {//412MS
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int N=input.nextInt();
int e=1;
while(N-->0){
BigInteger M=BigInteger.valueOf(10);
BigInteger n=input.nextBigInteger();
BigInteger p=input.nextBigInteger();
int m=input.nextInt();
n=n.modPow(p, M.pow(m));
System.out.println("Case #"+(e++)+": "+n);
}
}
}