java写的大数算法

用例子阐述:    
    例题:

         
nPOJ 1503   Integer Inquiry
Description
省略
Input
The input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer characters in length, and will only contain digits (no VeryLongInteger will be negative).

The final input line will contain a single zero on a line by itself.
Output
Your program should output the sum of the VeryLongIntegers given in the input.
Sample Input
123456789012345678901234567890
123456789012345678901234567890
123456789012345678901234567890
0
Sample Output
370370367037037036703703703670


题解:
      
import java.io.*;
import java.util.*;
import java.math.BigInteger;
public class Main {
public static void main(String[] args){
BigInteger sum=new BigInteger("0");
BigInteger num;
Scanner cin=new Scanner(System.in);
for(;;)
{
num=cin.nextBigInteger();
if(num.toString()=="0")break;
sum=sum.add(num);
}
System.out.println(sum.toString());
}
}

补方法如下:


add
 public BigInteger add(BigInteger val) throws ArithmeticException
返回一个 BigInteger ,其值是 (this + val) 。

 

subtract
 public BigInteger subtract(BigInteger val)
返回一个 BigInteger ,其值是 (this - val) 。

 

multiply
 public BigInteger multiply(BigInteger val)
返回一个 BigInteger ,其值是 (this * val) 。

 

divide
 public BigInteger divide(BigInteger val) throws ArithmeticException
返回一个 BigInteger ,其值是 (this / val) 。 如果 val == 0 ,则抛出 ArithmeticException 。

 

remainder
 public BigInteger remainder(BigInteger val) throws ArithmeticException
返回一个 BigInteger ,其值是 (this % val) 。 如果 val == 0,则抛出 ArithmeticException 。

posted on 2008-04-27 22:19 hobo 阅读(958) 评论(0)  编辑 收藏 引用 所属分类: ACM/ICPC_java用法

只有注册用户登录后才能发表评论。
<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

相册

友情连接

搜索

最新评论

阅读排行榜

评论排行榜