A+B Problem IV
时间限制:
1000
ms | 内存限制:
65535
KB
难度:
3
-
描述
- acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
java写大数太简单了,不过要注意输出哈!
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] argc){
Scanner cin=new Scanner(System.in);
BigDecimal a,b,ans;
while(cin.hasNext())
{
a=cin.nextBigDecimal();
b=cin.nextBigDecimal();
ans=a.add(b);
if (ans.compareTo(BigDecimal.ZERO)==0)
System.out.println("0");
else
System.out.println(ans.stripTrailingZeros().toPlainString());
}
}
}
import java.math.BigDecimal;
import java.util.Scanner;
public class A_B {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
/*String str1 = scan.next();
String str2 = scan.next();
boolean flag1=false;
boolean flag2=false;
int str11,str22;
for(i=0,j=0;i<str1.length()||j<str2.length();i++,j++){
if(str1.charAt(i)=='.'){
flag1=true;
str11=i;
}
else{
if(!flag1){
str1=str1+".0";
}
}
if(str2.charAt(j)=='.'){
flag2=true;
str22=j;
}else{
if(!flag2){
str2=str2 + ".0";
}
}
}
for(){
}*/
BigDecimal a = scan.nextBigDecimal();
BigDecimal b = scan.nextBigDecimal();
BigDecimal sum=a.add(b);
String SUM = ZH(sum.toString());
System.out .println(SUM);
}
}
private static String ZH(String sum) {
int num=-1;
if(sum.indexOf('.')!=-1){// 如果发现
for(int i =sum.length()-1;i>0;i--){//indexof(),搜索不到时返回-1
if(sum.charAt(i)!='0'){
num=i+1;
break;
}
}
sum=sum.substring(0, num);
if(sum.endsWith(".")){//去’0‘后的‘.’也要去掉!
sum=sum.substring(0, sum.length()-1);
}
}
return sum;
}
}
import java.math.BigDecimal;
import java.util.Scanner;
public class A_B{
public static void main(String[] args) {
Scanner scan= new Scanner(System.in);
while(scan.hasNext()){
BigDecimal a = scan.nextBigDecimal();
BigDecimal b = scan.nextBigDecimal();
BigDecimal sum=a.add(b);
String SUM=ZH(sum.toString());
System.out.println(SUM);
}
}
private static String ZH(String sum) {
// TODO Auto-generated method stub
int num =0;
if(sum.indexOf('.')!=-1){
for(int i=sum.length()-1;i>0;i--)//不以i>=0结束!,至少得有个数吧
{
if(sum.charAt(i)!='0'){
num=i;
break;
}
}
sum=sum.substring(0, num+1);//substring截取问题,需要num+1
if(sum.endsWith(".")){//sum.endsWith,boolen类型
sum=sum.substring(0, sum.length()-1);
}
}
return sum;
}
}