Java BigInteger(大数,ACM比赛专用)

用c或者C++处理大数比较麻烦,于是决心学习一下JAVA中大数运算。

先下载一个eclipse,具体的用法去问度娘吧

JAVA中有两个类BigIntegerBigDecimal分别表示大整数类和大浮点数类

这两个类都在java.math.*包中,因此每次必须在开头处引用该包(import java.math.*)。

下面说说几个常用的用法

1.

int a=3;

BigInteger b=BigInteger.valueOf(a);

则b=3;

2.

String s="-123459999999999999999999";
BigInteger c=new BigInteger(s,10);

把字符串转换成10进制的大数;

3.

BigInteger a=new BigInteger("234");
BigInteger b=new BigInteger("567");

System.out.println(a.add(b));

2个大数相加,a没变。

subtract(); 相减   multiply(); 相乘   divide();    相除取整   remainder(); 取余  pow();   a.pow(b)=a^b  gcd();   最大公约数

abs(); 绝对值  negate(); 取反数  mod(); a.mod(b)=a%b=a.remainder(b);   max(); min();  boolean equals(); 是否相等

3.

读入:

用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中

Scanner cin=new Scanner(System.in);
while(cin.hasNext())//相当于EOF
{
int n;
BigInteger m;
n=cin.nextInt();
m=cin.nextBigInteger();
System.out.println(n);
System.out.println(m);
}

插入写的代码

 import java.math.BigInteger;
import java.util.Scanner;
public class hello { public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("hello");
//int num=3;
//System.out.println("hell0"+num);
//int a=3;
//BigInteger b=BigInteger.valueOf(a);
//System.out.println(b);
//String s="-123459999999999999999999";
//BigInteger c=new BigInteger(s,10);
//BigInteger c=new BigInteger("12345");
//BigInteger a=new BigInteger("234");
//BigInteger b=new BigInteger("567");
//BigInteger c=a+b;
//subtract();
//multiply();
//divide();
//remainder();
//pow();
//gcd();
//System.out.println(a.add(b));
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
//int n;
BigInteger m,n;
n=cin.nextBigInteger();
m=cin.nextBigInteger();
boolean coper=n.equals(m);
System.out.println(n);
System.out.println(m);
System.out.println(coper);
} }
}
上一篇:C#利用WIN32实现按键注册


下一篇:从Windows XP系统迁移到Windows 7,Windows 8开始