JAVA 大数在acm中的应用(2)
来源:互联网 发布:网络经常被攻击 编辑:程序博客网 时间:2024/06/15 00:42
对于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中的应用(2)
- JAVA 大数在acm中的应用
- java大数类在acm中的应用
- JAVA大数在ACM中应用
- java 在 ACM 中的应用 (转帖)
- java在acm中的应用
- Java在ACM中的应用
- java在ACM中的应用
- java在ACM中的应用
- java在ACM中的应用
- Java在ACM中的应用
- JAVA在ACM中的应用
- Java中的BigInteger在ACM中的应用
- JAVA在ACM中的几点应用
- java在ACM中的应用(转载)
- java在ACM中的一些应用
- JAVA在ACM中的几点应用
- java在acm中的一些应用
- 一.Spring学习之旅----初识Spring
- 文章标题
- 简单的模拟多线程引用计数原理
- cin.clear()、cin.sync()和cin.ignor()的用法
- 《opencv入门教程》
- JAVA 大数在acm中的应用(2)
- c++ primer第九章笔记
- 开始玩hadoop 11 --Hbase 入门 shell基础命令
- hdu(1542)——Atlantis(线段树求面积并)
- ftplib源码剖析
- 第一天,对MAC OS的初步认识
- OJ嘻唰唰之类模板(2)求类中数据成员的最大值-类模板
- CBitmap转HBITMAP以及CBitmap、HBITMAP图片信息保存在.bmp文件下
- gluLookAt矩阵推导