java 大数类使用及案例
来源:互联网 发布:unity3d speedtree 编辑:程序博客网 时间:2024/05/22 04:40
16年9月22日,感觉是时候复习算法,重新进军进军竞赛大军了。所有将会每天进行算法训练,但是不会放弃java软件设计和前端学习。
SO
正题来了,将昨天的大数类整理如下:
- 定义大数变量:BigInteger x, BigInteger y;
- 大数相加:x.add(y)
- 大数相减:x.subtract(y)
- 大数相乘:x.multiply(y)
- 大数相除:x.divide(y)
- 大数模运算:x.remainder(y)
- 大数与大数之间赋值:x = y;
- 大数与非大数之间赋值:x = BigIntteger.valueOf(int val)
- 大数之间大小比较:x.compareTo(y)
更多函数请参考API
Example:
nyoj 45
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger res; int n, k; Scanner in = new Scanner(System.in); n = in.nextInt(); for (int i = 0; i < n; i++) { res = BigInteger.valueOf(2); k = in.nextInt(); res = res.pow(2*k); res = res.subtract(BigInteger.ONE); res = res.divide(BigInteger.valueOf(3)); System.out.println(res); } }}
nyoj 28
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub BigInteger x, y; int n; Scanner in = new Scanner(System.in); n = in.nextInt(); long start = System.currentTimeMillis(); x = BigInteger.valueOf(1); for(int i = 1; i <= n; i++) { y = BigInteger.valueOf(i); x = x.multiply(y); } System.out.println(x); long end = System.currentTimeMillis();// Float time = (float) ((end-start)/1000); long runTime = end - start; System.out.println(runTime); }}
nyoj 73
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger x, y; Scanner in = new Scanner(System.in); x = in.nextBigInteger(); y = in.nextBigInteger(); while(!x.equals(BigInteger.ZERO) && !y.equals(BigInteger.ZERO)) { if(x.compareTo(y) > 0) System.out.println("a>b"); else if(x.compareTo(y) < 0) System.out.println("a<b"); else System.out.println("a==b"); x = in.nextBigInteger(); y = in.nextBigInteger(); } }}
nyoj 103
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { int t; BigInteger x, y, res; Scanner in = new Scanner(System.in); t = in.nextInt(); for(int i = 1; i <= t; i++) { x = in.nextBigInteger(); y = in.nextBigInteger(); res = x.add(y); System.out.println("Case "+i+":"); System.out.println(x + " + " + y + " = " +res); } }}
1 0
- java 大数类使用及案例
- Java学习之ACM中使用大数类的基础方法及入门教程
- JAVA大数使用
- Java大数的使用
- Java代码质量检查工具及使用案例
- java线程池的使用及案例分享
- Java代码质量检查工具及使用案例
- Java大数类BigDecimal及八种舍入模式的介绍
- 【Java】大数类BigDecimal及八种舍入模式研究
- Java中大数初级使用
- (模板)JAVA 大数的使用
- JAVA垃案例及圾回收器工作原理及及使用实例介绍
- Java Mail使用案例
- Java大数类解决大数加法
- 使用C++类实现大数加法,大数减法,大数乘法
- java 大数类
- JAVA大数类练手
- JAVA大数类练手
- PHP内存缓存Memcached类实例
- 从一道面试题来认识java类加载时机与过程
- 认识JVM
- 用安卓内置的MediaPlaye类实现一个简单的音乐播放器
- connect_timeout interactive_timeout net_read_timeout net_write_timeout wait_timeout
- java 大数类使用及案例
- __attribute__((pack))的用法
- Java并发编程:深入剖析ThreadLocal
- Android常用名令集锦(图文并茂)!
- java_(2)基础知识之形参作用域
- 如何在 Git 里撤销(几乎)任何操作
- 洛谷 1313
- 建立一个Odoo Module (四)- Computed fields、Model constriants
- 面向对象程序设计上机练习十一(运算符重载)