这个没什么好说的,就是用JAVA写,如果要用C++或C写的话,就要把数倒着存,这样当两个数位数不一样时较好操作,注意一下进位就行。很久没写过JAVA了,而且这是我第一个写的拿去OJ上跑的JAVA程序,第一次啊,然后各种状况不断,先是Compile Error,然后是Runtime Error,然后是WA,最后我对照着标程一模一样写了,才AC,真是纠结啊。
为避免大家犯和我一样的错误,我提醒一下,在JAVA里面要把类命名为Main,我写str.charAt(0) == '0',WA了,不理解,我改成str.equals("0")才AC,莫非是输入数据出现了0123这种数?
还有推荐一个网站,上面有北大各种题的JAVA标程,希望对大家有帮助,至少帮到了我啊(偷笑)
http://www.java3z.com/cwbwebhome/acm.jsp
View Code
1 import java.math.BigInteger; 2 import java.util.Scanner; 3 4 public class Main{ 5 public static void main(String args[]) { 6 BigInteger a= BigInteger.valueOf(0); 7 BigInteger s = BigInteger.valueOf(0); 8 String str; 9 Scanner cin = new Scanner(System.in); 10 while (true) { 11 str = cin.next(); 12 if(str.equals("0")) break; 13 a = new BigInteger(str); 14 s = s.add(a); 15 } 16 System.out.println(s); 17 } 18 }