最近讲到高精度专题了,于是果断想到了用Java,虽然以前没接触过Java,还是被它的方便性吸引了,下个JDK和eclipsean安装完再配置一下Java环境就可以了,下面稍微提一下环境配置吧(我搞了好久,不过网上好多教程)
桌面右键我的电脑(计算机)-->属性-->高级系统设置-->(高级中的)环境变量:
在系统变量里面最后要出现这三个变量(有就改一下变量值,没有就新建)
变量名 变量值
JAVA_HOME 自己Java的安装路径,要求安装JDK的时候的第一个路径(我的是G :\ JAVA \JDK)
PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(直接复制就好了)
接下来看一道题
A + B Problem II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Problem Description
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.
Sample Input
2 1 2 112233445566778899 998877665544332211
Sample Output
Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
可以用C++的大数模板做,但是用Java的BIgInteger快很多,最后注意System.out.print("\n");和System.out.println(""); 的换行效果是一样的,但是第二个才是系统默认的换行。以下是我的代码
import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;
public class Main{
public static void main(String[] args)
{
Scanner cin = new Scanner (new BufferedInputStream(System.in));
int times=1;
int T;
T=cin.nextInt();
while(T!=0)
{
BigInteger a;
BigInteger b;
a=cin.nextBigInteger();
b=cin.nextBigInteger();
System.out.println("Case "+ (times++)+":");
System.out.println(a + " + " + b + " = " + a.add(b));
if(T!=1) System.out.println("");
T--;
}
}
}
public class Main //这里各个OJ默认的不同,此处只能用Main