首页 > 代码库 > ACM-ICPC java(大数)使用总结

ACM-ICPC java(大数)使用总结

今天碰到一道大数除法和模运算的题,以前也写过加减乘的大数模拟运算,但总觉着太麻烦了,今天大体了解了一下Java的输入输出,特来总结一下如何使用java中的高精度类型。首先我们要会建一个简单的java程序(以A+B为例)如下

import java.io.*;
import java.util.*;
import java.math.*;
import java.text.*;
public class Main
{
  public static void main(String args[])
  {
  	Scanner in=new Scanner(System.in);
  	int a,b;
  	while(in.hasNext())//多组输入
   {
  	a=in.nextInt();
  	b=in.nextInt();
  	System.out.println(a+b);
   }
  }
}
基本类型的输入

读一个整数:    int n = cin.nextInt();          相当于    scanf("%d", &n);    或 cin >> n;

读一个字符串:String s = cin.next();          相当于    scanf("%s", s);      或 cin >> s;

读一个浮点数:double t = cin.nextDouble();    相当于    scanf("%lf", &t); 或 cin >> t;

读一整行:      String s = cin.nextLine();      相当于    gets(s);            或 cin.getline(...);

如果你想指教输入一个字符的话,可以这样:
Scanner in = new Scanner(System.in);
String str = in.nextLine();
char ch = str.charAt(0);
System.out.println(ch);

下面来几种基本的大数加减乘除取余5中基本运算

import java.io.*;
import java.util.*;
import java.math.*;
import java.text.*;
public class Main
{
  public static void main(String args[])
  {
  	Scanner in=new Scanner(System.in);//定义输入
  	BigInteger a,b;char  c;
  	a=in.nextBigInteger();
  	b=in.nextBigInteger();
  	c=in.next().charAt(0);//输入单个字符 这个比较坑
  	System.out.println(a.add(b)); //加
  	System.out.println(a.subtract(b));//减
	System.out.println(a.multiply(b));//乘
	System.out.println(a.divide(b));//除
	System.out.println(a.mod(b));//取余
  }
}

后续更新。。。