java++biginter_Java中的BigInteger在ACM中的应用
Java中的BigInteger在ACM中的应用
在ACM中的做题时,经常会遇见一些大数的问题,这是当我们用C或是C++时就会觉得比较麻烦,就想有没有现有的现有的可以直接调用的BigInter,那样就方便很多啦。在java中就有的,所以在这儿我就做一个简要的介绍吧
—:在java中的基本头文件(java中叫包)
import java.io.*
importjava.util.* 我们所用的输入scanner在这个包中
importjava.math.* 我们下面要用到的BigInteger就这这个包中
二:输入与输出
读入 Scanner cin=new Scanner(System.in)
While(cin.hasNext()) //相当于C语言中的!=EOF
n=cin.nextInt(); //输入一个int型整数
n=cin.nextBigInteger(); //输入一个大整数
System.out.print(n); //输出n但不换行
System.out.println(); //换行
System.out.println(n); //输出n并换行
System.out.printf(“%d\n”,n); //类似C语言中的输出
三:定义变量
定义单个变量:
int a,b,c; //和C++ 中无区别
BigInteger a; //定义大数变量a
BigIntegerb=new BigInteger("2"); //定义大数变量 b赋值为 2;
BigDecimaln; //定义大浮点数类 n;
定于数组:
int a[]= new int[10] //定义长度为10的数组a
BigInteger b[] =new BigInteger[100] //定义长度为100的数组a
四:表示范围
布尔型 boolean 1 true,false false
字节型 byte 8 -128-127 0
字符型 char 16 ‘\u000’-\uffff ‘\u0000’
短整型 short 16 -32768-32767 0
整型 int 32 -2147483648,2147483647 0
长整型 long 64 -9.22E18,9.22E18 0
浮点型 float 32 1.4E-45-3.4028E+38 0.0
双精度型 double 64 4.9E-324,1.7977E+308 0.0
BigInteger任意大的数,原则上只要你的计算机内存足够大,可以有无限位
五:常用的一些操作
A=BigInteger.ONE; //把0赋给A
B=BigInteger.valueOf(3); //把3赋给B;
A[i]=BigInteger.valueOf(10); //把10赋给A[i]
c=a.add(b) //把a与b相加并赋给c
c=a.subtract(b) //把a与b相减并赋给c
c=a.multiply(b) //把a与b相乘并赋给c
c=a.divide(b) //把a与b相除并赋给c
c=a.mod(b) // 相当于a%b
a.pow(b) //相当于a^b
a.compareTo(b): //根据该数值是小于、等于、或大于a 返回 -1、0 或 1;
a.equals(b): //判断两数是否相等,也可以用compareTo来代替;
a.min(b),a.max(b): //取两个数的较小、大者;
注意以上的操作都必须是BigInteger类的。
给以样例POJ 2506
代码:
import java.math.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
BigInteger a[] = new BigInteger[300];
BigInteger b=new BigInteger("2");
a[0]=BigInteger.valueOf(1);
a[1]=BigInteger.valueOf(1);
a[2]=BigInteger.valueOf(3);
a[3]=BigInteger.valueOf(5);
int n;
for(int i=3;i<=255;i++)
{
a[i]=a[i-1].add(a[i-2].multiply(b));
}
while(cin.hasNext())
{
n=cin.nextInt();
System.out.println(a[n]);
}
}
}
原文:http://blog.csdn.net/u010304217/article/details/37728493
java++biginter_Java中的BigInteger在ACM中的应用相关推荐
- acm java题_【转】ACM中java的使用
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner ...
- ACM中java的使用
ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输 ...
- ACM中java的使用 (转)
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入:格式为:Scanner c ...
- ACM中Java使用总结
Java在ACM中的主要应用是大数类[个人见解].做个小总结,留作模板用. 类名默认为Main. 输入: 声明一个输入对象cin;Scanner cin=new Scanner(System.in); ...
- java在acm中的一些应用
这两天遇到了一些关于大数据处理的题目,发现Java对于这方面的优势很大.最重要的是代码量小了.于是针对这两天对Java的摸索,写一篇日志.记录一下针对ACM来说常用的Java方面的东西. 1.输入 首 ...
- ACM中java快速入门
2019独角兽企业重金招聘Python工程师标准>>> ACM中java快速入门 附: Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特 ...
- ACM中java的使用(各种比赛中)
转载自点击打开链接 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner ci ...
- java面试大全(7w字,更新中)
1.杂题 1.maven依赖冲突的解决方法 依赖冲突的原因 举个例子,A依赖于B与C,B依赖于D的1.0版本,C依赖于D的2.0版本,这就导致加载的时候到底会引入那个版本的jar包的问题 解决方法: ...
- java 中 如何sum 乘法_JAVA中解决大数乘法和加法问题
前言 在日常的算法练习中难免会遇见涉及阶乘的计算的题目,总所周知阶乘的数据会变得非常大,此时int和long型都装不下只能借助于String来表示,所以这里特为大家提供两种解决方案:1.使用Java ...
最新文章
- python杀死线程的方法_python杀死一个线程的方法
- 跨年赠书福利!推荐你数据科学领域初学、进阶必读6本书
- html hover图片效果,CSS第9款:Imagehover.css 纯CSS打造的图片悬停效果
- 网易云深度学习第一课第一周编程作业
- linux 开机默认启动windows系统时间,Windows和Linux双系统批改默认启动项、超时时间...
- Python学习-2.安装IDE
- Mybatis-学习笔记(6)Mybatis的事务管理机制
- Atitit 数据存储的数据表连接attilax总结
- python:epub文件批量转TXT
- 古训:能控制早晨的人,方可控制人生(经典)
- 二进制文件转化成文本文件
- 计算机excel二进制,在Excel中实现二进制、八进制、十进制、十六进制之间的转换函数介绍...
- Zynq-PS-SDK(4) 之 GIC 配置
- Google Adsense api 推荐介绍 ~!没有网站照样赚钱!
- 7-19 评委打分 (15 分)
- 腾讯地图经纬度解析出地址
- 感叹号的形状像什么_三个感叹号的句子
- ArcCatalog、ArcGlobe、ArcMap、ArcReader、ArcScene介绍
- 再谈SG函数和SG定理
- 手把手教学:使用油猴脚本对CCTV央视网启用HTML5播放器
热门文章
- 转载……经典面试题目
- git报错Another git process seems to be running in this repository, e.g. an editor opened by ‘git commi
- linux ls指令(ls命令)
- linux主板插硬盘识别不到,z390 m.2 接口插上sata 硬盘后,机械硬盘不识别;HDD 硬盘不识别;z390 m.2和 SATA 硬盘安装组合;,z390主板sata接口在哪...
- 跟我一起做京东金融的项目白条页(四)
- 72首经典英文歌曲排行版
- ipad能看java吗,你可以在iPad上自动播放HTML5视频吗?
- 如何使用Tushare和Echarts来画股票K线图
- Photoshop CC 2018取消默认安装到C盘
- 雨夜DNF辅助从零开始语音教程