JAVA大数类练手
今天突然看到了OJ上的大数类题目,由于学习了一点大数类的知识。果断水了6道题。。。。。。都是非常基础的。就当的练手的吧。
学到的只是一些大数类的基本操作。以后多做点这样的题,争取熟练运用水大数题。。。
大数阶乘
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=28
代码如下:
- import java.io.*;
- import java.math.BigInteger;
- import java.util.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner cin = new Scanner(System.in);
- int n = cin.nextInt();
- BigInteger ans = BigInteger.ONE;
- for(int i = 1; i <= n; ++i)
- ans = ans.multiply(BigInteger.valueOf(i));
- System.out.println(ans);
- }
- }
棋盘覆盖
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=45
代码如下:
- import java.math.BigInteger;
- import java.util.*;
- import java.io.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner in = new Scanner(System.in);
- int test = in.nextInt();
- while(test-- > 0)
- {
- int n;
- n = in.nextInt();
- BigInteger a = new BigInteger("4");
- for(int i = 1; i < n; ++i)
- a = a.multiply(BigInteger.valueOf(4));
- System.out.println(a.subtract(BigInteger.valueOf(1)).divide(BigInteger.valueOf(3)));
- }
- }
- }
比较大小
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=73
代码如下:
- import java.io.*;
- import java.math.BigInteger;
- import java.util.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner cin = new Scanner(System.in);
- while(cin.hasNext())
- {
- BigInteger a = cin.nextBigInteger();
- BigInteger b = cin.nextBigInteger();
- if(a.equals(BigInteger.ZERO) && b.equals(BigInteger.ZERO))
- break;
- int flag = a.compareTo(b);
- if(flag == -1)
- System.out.println("a<b");
- else if(flag == 0)
- System.out.println("a==b");
- else
- System.out.println("a>b");
- }
- }
- }
大数加法
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=103
代码如下:
- import java.math.BigInteger;
- import java.util.*;
- import java.io.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt();
- for(int i = 1; i <= n; ++i)
- {
- BigInteger a = in.nextBigInteger();
- BigInteger b = in.nextBigInteger();
- BigInteger ans = a.add(b);
- System.out.println("Case " + i + ":");
- System.out.println(a + " + " + b + " = " +ans);
- }
- }
- }
递推求值
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=114
代码如下:
- import java.io.*;
- import java.math.BigInteger;
- import java.util.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner cin = new Scanner(System.in);
- BigInteger a[] = new BigInteger[100];
- while(cin.hasNext())
- {
- for(int i = 0; i <= 2; ++i)
- a[i] = cin.nextBigInteger();
- for(int i = 3; i <= 99; ++i)
- a[i] = a[i - 1].add(a[i - 2]).add(a[i - 3]);
- System.out.println(a[99]);
- }
- }
- }
高精度幂
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=155
代码如下:
- import java.io.*;
- import java.math.BigDecimal;
- import java.util.*;
- public class Main
- {
- public static void main(String args[])
- {
- Scanner cin = new Scanner(System.in);
- while(cin.hasNext())
- {
- BigDecimal ans = cin.nextBigDecimal();
- int n = cin.nextInt();
- String res = ans.pow(n).stripTrailingZeros().toPlainString(); //整数去掉小数点和后面的0
- if(res.startsWith("0")) //去掉前导0
- {
- res = res.substring(1);
- }
- System.out.println(res);
- }
- }
- }
JAVA大数类练手的更多相关文章
- JAVA大数类
JAVA大数类api http://man.ddvip.com/program/java_api_zh/java/math/BigInteger.html#method_summary 不仅仅只能查J ...
- ZOJ3477&JAVA大数类
转:http://blog.csdn.net/sunkun2013/article/details/11822927 import java.util.*; import java.math.BigI ...
- Java大数类介绍
java能处理大数的类有两个高精度大整数BigInteger 和高精度浮点数BigDecimal,这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math. ...
- HDU高精度总结(java大数类)
HDU1002 A + B Problem II [题意]大数相加 [链接]http://acm.hdu.edu.cn/showproblem.php?pid=1002 Sample Inpu ...
- JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)
当基础数据类型长度无法满足需求时可以使用大数类 构造方法接受字符串为参数 BigInteger bInt = new BigInteger("123123"); BigDecima ...
- JAVA - 大数类详解
写在前面 对于ACMer来说,java语言最大的优势就是BigInteger,Bigdecimal,String三个类. 这三个类分别是高精度整数,高精度浮点数和字符串,之所以说这个是它的优势是因为j ...
- Java 大数类BigInteger和BigDecimal的基本函数
在Java中有两个类BigInteger和BigDecimal分别表示不可变的任意精度的整数和不可变的有符号的任意精度的十进制数(浮点数).主要用于高精度计算中.这两个类使得java中的大数,高精度运 ...
- Java大数类BigDecimal及八种舍入模式的介绍
BigDecimal的引入 在利用Java编程语言开发银行.金融类等需要对数值进行高精度计算的软件时,我们经常使用BigDecimal和BigInteger这两个大数据类,而不是常见的int.long ...
- Java 大数类
划分结果存在数组.供应商下标0 在剩下的标记1 import java.math.BigInteger; import java.util.Scanner; public class Main { p ...
随机推荐
- hdoj1285 拓扑排序
题目链接 分析: 很明显,一看就是拓扑排序. 看似简单, 暗藏武器啊. 第一次做的时候一边拓扑排序一边标记他们的深度, 例如题中给的例子 {1 2:2 3:4 3 }.1的深度为1. 2.4的深度为2 ...
- 【自用】爬虫配置XML时拼接URL中文转Unicode问题(例如北京转成%u5317%u4EAC)
<var-def name="regionUnicode"> <while condition="true" index="s&qu ...
- vJine.Core 0.3.0.49 正式发布
nuget: https://www.nuget.org/packages/vJine.Core/ oschina: http://git.oschina.net/vjine/vJine.Core/a ...
- Eclipse修改java代码后自动重启Tomcat解决办法
今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功 ...
- [.Net MVC] 用户角色权限管理_使用CLK.AspNet.Identity
项目:后台管理平台 意义:一个完整的管理平台需要提供用户注册.登录等功能,以及认证和授权功能. 一.为何使用CLK.AspNet.Identity 首先简要说明所采取的权限控制方式.这里采用了基于角色 ...
- 准备Activiti的开发环境
1.创建项目
- Config spec rules for elements in subbranches
Quote from: Config spec rules for elements in subbranches The following is an example of a config s ...
- 【NOI2001】炮兵阵地
[题目描述] 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形 ...
- MFC GDI相关对象
首先说明几个名词: CDC 是MFC对Wind32 API的设备上下文(DC)进行封装的C++类,由他继承的类包括 CPaintDC(常用)CWindowDC(现在软件基本不用) CClientDC( ...
- Linux CPU亲缘性详解
前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣.“自动根据CPU数目设置进程个数和绑定CPU亲缘性”.当时笔者对CPU亲缘性没有任何概念,当时作者只是 ...