JAVA 大数在acm中的应用(2)

原创 2015年07月07日 21:11:27


对于java大数,前面已经提到过一些基本的使用方法,现在补充前面感觉遗漏掉的东西



对于一个变量的定义与在C语言中一样;

如果下次还需要输入  它 (例如  n)  则需要:

import java.util.*;
import java.math.*;
public class Main {
	public static void main (String[] args){
		Scanner cin = new Scanner(System.in);
		int n;
		while(cin.hasNextInt()) //与C语言中多组数据输入一样
        {
            n=cin.nextInt();//多次输入n值
            ...
            ...
        }
	}
}


对于 高精度的大数:(BigDecimal


其基本用法与BigInteger 一样


关于高精度的常用表示:

去后导0的用地BigDecimal的stripTrailingZeros,然后使用toPlainString防止高精度数表示成科学计数法(意思就是转换成朴素的字符串)string


例如如果ans是经过多个高精度数字运算后的结果,那么它有可能会被自动保存为科学计数法;此时用toPlainString就可以。

在此之前要先去掉多余的0,即用到stripTrailingZeros,其实此步骤可以在转换为字符串之后再对其(ff)逐个进行操作。

string ff=ans.stripTrailingZeros().toPlainString() ;


顺便提一下大数中对String的操作:


定义:

String ff="1234abcd";

ff.函数名();


常用的函数名:

1) int length():获取长度     2)char charAt(int index)   例如 char ch=ff.charAt(2);  则ch=='3';

3) boolean contains(str);  判断是否包含一个子串     3) boolean isEmpty():原理就是判断长度是否为0。

5)String toUpperCsae() 大转小     String toLowerCsae() 小转大 :将字符串转成大写或小写 

6) int compareTo(string); 两个字符串之间的比较



好的,回归正题,下面继续说说java的log 与pow

一般可以用数学包里的来解决

例如 Math.pow(double,double);

        Math.log(double a) 返回(以e为底)的一个double值。


好吧,就这么多吧~~~


版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA 大数在acm中的应用

对于经常用c及c++编程进行acm竞赛的弱菜来说,写一道f大数题,是比较麻烦的,然而这对于用java来写来写,却是小菜一碟, 于是我就在网上找了并整理一下java对于大数方面的应用,虽然这对于jav...
  • stffer
  • stffer
  • 2015年06月05日 23:03
  • 831

java大数类在acm中的应用

java样例:import java.util.Scanner;//读 import java.math.*;//大数类 import java.text.*;public class Main{ ...

杭电ACM1297——Children’s Queue~~大数相加的应用

题目的意思很明确,不能单独有一个女生站一起。 假设有N个人。 1.最后一个人是男生,则有F(N - 1)。 2.最后一个人是女生,则第N - 1也是女生,则有F(N - 1)。 但还有一种就是...

ACM 大数问题函数及应用

大数问题 在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无...

杭电ACM大数JAVA提交实例

(提交时需将类名改为Main) 1002A + B Problem II Problem Description I have a very simple problem for you....

java在acm中大数运算教程

import java.io.*; import java.util.*; public class Main {     public static void main(String[] a...

杭电ACM大数JAVA提交实例

1002A + B Problem II Problem Description I have a very simple problem for you. Given two integ...

ACM常用算法-大数四则,高精度(Java)

这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; BigInteg...

JAVA在ACM中大数运算教程

转载自yangshuolll的专栏 看到一个比较好的教程.转过来   这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间...

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

今天碰到一道大数除法和模运算的题,以前也写过加减乘的大数模拟运算,但总觉着太麻烦了,今天大体了解了一下Java的输入输出,特来总结一下如何使用java中的高精度类型。首先我们要会建一个简单的java程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA 大数在acm中的应用(2)
举报原因:
原因补充:

(最多只允许输入30个字)