java中大数运算非常方便
但要记住一些函数
java中的数学函数要加前缀(相较与c++):Math.
java多组输入:
Scanner in =new Scanner(System.in);
while(in.hasNext()) {//多组输入
//
}
首先是 头文件:import java.math.BigInteger;
BigInteger a =in.nextBigInteger(); 定义一个大数a,并且输入
1.a.add(b); a+b
2.a.subtract(b); a-b
3.a.multiply(b); a*b
4.a.divide(b); a/b
5.a.remainder(b); a%b
6.a.gcd(b); gad(a,b)
7.a!
8.cc.compareTo(dd); 返回int类型(1为>,0为=,-1为<)
BigInteger m;
m =BigInteger.valueOf(1);//BigInteger.valueOf();为定义一个已知大数.
int x;
x=in.nextInt();
for(int j=1;j<=x;j++)
{
m=m.multiply(BigInteger.valueOf(j));
}
System.out.println(m);
完整代码:
import java.util.Scanner;
import java.math.BigInteger;
public class Largenumber {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in =new Scanner(System.in);
System.out.println("输入两个大数:");
BigInteger a =in.nextBigInteger();
BigInteger b =in.nextBigInteger();
System.out.println("输入操作\n1.加法\n2.减法\n3.乘法\n4.除法\n5.取余\n6.最大公约数\n7.求阶乘");
int n=in.nextInt();
System.out.println("result:");
if(n==1)
{
System.out.println(a.add(b)); ///a+b
}
else if(n==2)
{
System.out.println(a.subtract(b)); ///
}
else if(n==3)
{
System.out.println(a.multiply(b)); ///a*b
}
else if(n==4)
{
System.out.println(a.divide(b)); ///a/b
}
else if(n==5)
{
System.out.println(a.remainder(b)); ///a%b
}
else if(n==6)
{
System.out.println(a.gcd(b)); ///gcd(a,b)
}
else ///a!
{
BigInteger m;
m =BigInteger.valueOf(1);//BigInteger.valueOf();为定义一个已知