码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-08-07 13:10:50      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

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]); //普通输出
        }
    }
}

 

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

标签:

原文地址:http://www.cnblogs.com/yspworld/p/4710215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!