大明A+B hdu1753

来源:互联网 发布:ubuntu安装后的20件事 编辑:程序博客网 时间:2024/04/27 15:45

http://acm.hdu.edu.cn/showproblem.php?pid=1753//本文参考了不知谁的代码,因为最近在抓紧时间学习java acm中的Big数

import java.io.*;
import java.math.*;
import java.util.*;
 
public class Main
{
     public static void main(String[] args)
     {
         Scanner in = new Scanner(System.in);
         BigDecimal a, b;
        
        while(in.hasNextBigDecimal())
        {
             a = in.nextBigDecimal();
             b = in.nextBigDecimal();
            
            //字符串转换成数组
             char res[] = a.add(b).toString().toCharArray();
             int n = res.length - 1;
             int i = 0;
            
            //注意只有存在小数点的情况下才去除末尾的0
             String str1 = a.add(b).toString();
             String str2 = a.add(b).toBigInteger().toString();
             if(!str1.equals(str2))
             {
                 while(res[n] == '0')n--;
             }
            
            //去掉小数点
             if(res[n] == '.')n--;
            
            //输出
             for(i = 0; i <= n; ++i)
             {
                 System.out.print(res[i]);
             }
             System.out.println("");
 
         }    
    }
 }

原创粉丝点击