之前一直不知道java api里自带实现了的BigIntegr类。现在知道了,很好用,不过如果是大数开方就要自己另外写了。
然后水了几题,熟悉了函数的用法。https://vjudge.net/contest/142681#overview
A:
import java.math.BigInteger;
import java.util.*;
public class Main{
public static BigInteger a[]=new BigInteger[10050];
public static void init(){
a[1]=BigInteger.ONE;
for(int i=2;i<=10000;i++){
BigInteger b1=BigInteger.valueOf(i);
a[i]=b1.multiply(a[i-1]);
}
}
public static void main(String[] args){
init();
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
int n=scan.nextInt();
if(n==0)
System.out.println(1);
else
System.out.println(a[n]);
}
}
}
b:
import java.math.BigInteger;
import java.util.*;
public class Main {
public static BigInteger a[]=new BigInteger[10050];
public static void init(){
a[1]=BigInteger.ONE;
for(int i=2;i<=10000;i++){
BigInteger b1=BigInteger.valueOf(i);
a[i]=b1.multiply(a[i-1]);
}
}
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
BigInteger b[]=new BigInteger[100];
b[0]=scan.nextBigInteger();
b[1]=scan.nextBigInteger();
b[2]=scan.nextBigInteger();
for(int i=3;i<=99;i++){
BigInteger temp=b[i-1].add(b[i-2]);
b[i]=temp.add(b[i-3]);
}
System.out.println(b[99]);
}
}
}
D:
import java.math.BigInteger;
import java.util.*;
public class Main {
public static BigInteger f[]=new BigInteger[10050];
public static void init(){
f[1]=f[2]=BigInteger.ONE;
for(int i=3;i<=1000;i++){
f[i]=f[i-1].add(f[i-2]);
}
}
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
init();
while(scan.hasNext()){
int t=scan.nextInt();
for(int i=0;i<t;i++){
int n=scan.nextInt();
System.out.println(f[n]);
}
}
}
}