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; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。