java练习——BigInterger 骄傲的代价

骄傲的代价

Time Limit: 1000 ms  Memory Limit: 65536 KiB
Problem Description
  E_star由于在上次考试中取得了很好的成绩他开始骄傲起来,此时von看不下去了,于是就想找他的岔,他把E_star叫来说最近一道A+B编程题目不会,想要让同是计算机专业的E_star来帮他解答,E_star由于考试后的骄傲心理,二话没说结一口答应了,等到von用qq把题目要求发给E_star的时候他傻眼了。自己根本就不会,其实von知道他不会故意整他的。他为了留住面子只好请他最好的朋友你帮他解答了。这下知道骄傲的后果了吧。
Input
题目有多组数据,处理到文件结束。输入的第一行包含一个数T代表测试组数;
接下来有T行,每行有两个数A,B;
Output
 对于每一组数据输出的第一行是"Case #:"代表第几组数据;
接下来一行是A+B=以及A+B的和。
每两个组数据之间输出一个空行。
Sample Input
2
1 2
112233445566778899 998877665544332211
Sample Output
Case 1:
1 + 2 = 3

Case 2:

112233445566778899 + 998877665544332211 = 1111111111111111110

额。。网上搜的代码,自己用的long型一直wa。后来搜到的代码用的BigInteger,网上搜了一下BigInter,

真的很强大,原则上只要你的内存足够大,就可以用,不像int ,long 一样限制位数,后期再慢慢整理,

这里就直接上代码了

import java.math.BigInteger;
import java.util.*;
public class Main {
	
    public static void main(String args[]) {
    	Scanner cin = new Scanner(System.in);
    		int t = cin.nextInt();
    		for(int i = 1;i<=t;i++) {
    			String s1 = cin.next();
    			String s2 = cin.next();
    			BigInteger a = new BigInteger(s1);
    			BigInteger b = new BigInteger(s2);
    			BigInteger sum = a.add(b);
    			System.out.println("Case "+i+":");
    			System.out.println(a+" + "+b+" = "+sum);
    			if(i<t)
    			System.out.println();
    	}
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值