【Java】-BigInteger大数类的使用【超强Java大数模板 总结】

1. 单元变量常用大数操作:

import java.util.Scanner;
import java.math.*;

public class Main{

	public static void main(String args[]){
		Scanner cin= new Scanner(System.in);
		//使用Sacnner类创建cin对象
		BigInteger a, b;//创建大数对象
		while(cin.hasNext()){
			a=cin.nextBigInteger();
			b=cin.nextBigInteger();
			System.out.println("a+b="+a.add(b));

			System.out.println("a-b="+a.subtract(b));

			System.out.println("a*b="+a.multiply(b));

			System.out.println("a/b="+a.divide(b));

			System.out.println("a%b="+a.remainder(b));

			if(a.compareTo(b)==0) //比较两数的大小
				System.out.println("a==b");
			else if(a.compareTo(b)>0)
				System.out.println("a>b");
			else
				System.out.println("a<b");

			System.out.println(a.abs());//取绝对值

			int e=10;
			System.out.println(a.pow(e));//求a^e

			System.out.println(a.toString()); //将大数a转字符串输出

			int p=8;
			System.out.println(a.toString(p)); //将大数a转换成p进制后 按字符串输出

		}
	}
}

2.java大数 实现递推公式:f[i]=f[i-1]+f[i-2]*2

import java.util.*;
import java.math.*; //导入类

public class Main{
    static BigInteger[] ans; //定义全局变量
    public static void main(String[] args){

        Scanner reader=new Scanner(System.in);
        //定义Scanner类对象

        ans = new BigInteger[251]; //定义ans大数数组的大小

        ans[0]=BigInteger.valueOf(1);//大数赋初值
        ans[1]=BigInteger.valueOf(1);
        ans[2]=BigInteger.valueOf(3);
        for(int i=3; i<=250; i++)
        {
            ans[i] = ans[i-1].add(ans[i-2].multiply(BigInteger.valueOf(2)));
        }  //大数加法的使用
        int n;
        while(reader.hasNextInt()){
            n=reader.nextInt();
            System.out.println(ans[n]); //普通输出
        }
    }
}
时间: 2024-11-17 02:29:54

【Java】-BigInteger大数类的使用【超强Java大数模板 总结】的相关文章

java基础知识回顾之---java String final类 容易混淆的java String常量池内存分析

/** *   栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放  在常量池中). 堆(heap):存放所有new出来的对象. *   静态存储:存放静态成员(static定义的). 常量池(constant pool):在堆中分配出来的一块存储区域,存放储显式的String常量和基本类型常量(float.int等).另外,可以存储不经常改变的东西 *                       p

java多线程常见类与方法之java.util.concurrent.locks

1.java.util.concurrent.locks包里面的主要接口Lock,Condition,ReadWriteLock,主要的类为ReentrantLock,ReentrantReadWriteLock,ReentrantReadWriteLock.ReadLock,ReentrantReadWriteLock.WriteLock,LockSupport 2.ReentrantLock里面的主要方法为:lock(),unlock(),tryLock(),lockInterruptibl

java继承2——类与继承(转)

一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的

java &nbsp; net --------------------------------URL类

java   net ---------------------------URL类 package java_net; import java.net.MalformedURLException; import java.net.URL; /*  * 测试URL类  */ public class URL_Test {  public static void main(String[] args) { try { //我们需要构造一个URL对象,构造方法有很多种 /*  * 1.通过一个字符串

Java记录 -25- String类深度剖析

Java中String类深度剖析 1.Java源码中String类的定义: public final class String extends Object implements Serializable, Comparable<String>, CharSequence 2.String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 3.字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String

Java基础-Class类

java的Class类是java反射机制的基础,通过Class类我们可以获得关于一个类的相关信息,下面我们来了解一下有关java中Class类的相关知识! java.lang.Class是一个比较特殊的类,它用于封装被装入到JVM中的类(包括类和接口)的信息. 当一个类或接口被装入的JVM时便会产生一个与之关联的java.lang.Class对象,可以通过这个Class对象对被装入类的详细信息进行访问. 简单的说,获取某一个类所对应的Class对象可以通过如下三种途径: 1. Object的ge

Java数据结构和类有哪些?

Java数据结构和类有哪些?很多java初学者可能记不住或者记不全那么多,今天西安java培训小编为大家整理了Java数据结构和类的知识,希望对大家有所帮助. 一.Vector类 Vector类似于一个数组,但与数组相比在使用上有以下两个优点. 1.使用的时候无需声明上限,随着元素的增加,Vector的长度会自动 增加. 2.Vector提供额外的方法来增加.删除元素,比数组操作高效. Vector类有三个构造函数,分别如下: public Vector(); 该方法创建一个空的Vector.

java.lang.Math类

Java.lang.Math类用法实例教程 - java.lang.Math 类包含的方法进行基本的数字操作,如基本的指数,对数,平方根和三角函数等. 以下是java.lang.Math类的声明: 1 public final class Math extends Object static double abs(double a) 此方法返回一个绝对值 static double cbrt(double a)此方法返回一个double值的立方根. static double random()

Java的URL类(二)

转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据 package Demo.Test; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.ne

Java的URL类(一)

转:https://www.cnblogs.com/blackiesong/p/6182038.html Java的URL类(一) Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可 以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通过使用Java的URL类 就可以经由URL完成读取和修改数据的操作. 通过一个URL连接,我们就可以确定资源的位置,比如网络文件.网络页面以及网络应用程序等.其中包含