大数处理

public class Main
{ 
 	public static void main(String[] args) 
        { 
 		Scanner  in = new Scanner(System.in);		 
 		BigInteger mod = BigInteger.valueOf(1);		 
 		for(int i = 1; i <= 100; i++)//乘一百次 
 			mod = mod.multiply(BigInteger.valueOf(10));		 
 		while(in.hasNext())
                {			 //当有数字输入的时候 
 		    int n = in.nextInt();			 
 		    BigInteger ans = BigInteger.valueOf(1);			 
 		    BigInteger ret = BigInteger.valueOf(1);			 
 		    for(int i = 1; i<= n; i++)    
                    {						 
 		        ans = ans.multiply(BigInteger.valueOf(i));				         	ans = ans.multiply(BigInteger.valueOf(i+1));		
 	    	        //ans = ans.divide(BigInteger.valueOf(i));			
         	        //ans = ans.divide(BigInteger.valueOf(i+1));		
 		        ret = ret.add(ans);						
 		    } 
 		    in.close(); 
                //  cin.close(); 
 		    ret = ret.mod(mod);			 
 		    System.out.println(ret);					 
 		} 
 		BigInteger a[] = new BigInteger[1005];	 
 		a[1] = a[2] = BigInteger.valueOf(5); 
                for (int i =3; i< 1005; i++)
                { 
                     a[i] = a[i-1].add(a[i-2]); 
                } 
         //String s="-123459999999999999999999"; 
         //BigInteger c=new BigInteger(s,10); 
              //把字符串转换成10进制的大数; 
 		//toString()将BigDecimal对象的数值转换成字符串。  
 		//Scanner cin = new Scanner(System.in); //定义一个输入 
 		//BigInteger num2=cin.nextBigInteger(); 
 		//BigInteger num3=cin.nextBigInteger(); 
 		//System.out.println(num2.add(num3)); 
 		//int T=cin.nextInt();	//输入整数 
 		//System.out.println(T); //输出 
 //		BigInteger a, b; 
 //		b=BigInteger.valueOf(T); //直接赋值给大数字 
 //		a=BigInteger.valueOf(3); 
 //		System.out.println(a);	//大数字可以直接输出 
 //		System.out.println(a.add(b));//大整数加法 
 //		System.out.println(a.subtract(b));//大整数减法 
 //		System.out.println(a.multiply(b));//大整数乘法 
 //		System.out.println(a.divide(b));//大整数除法,取整 
 //除法(在divide的时候就设置好要精确的小数位数和舍入模式)
//    BigDecimal的setScale方法 
//    BigDecimal.setScale() 
//    方法用于格式化小数点 
//    表示保留一位小数,默认用四舍五入方式 
//    setScale(1) 
//    直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_DOWN) 
//    进位处理,2.35变成2.4  setScale(1,BigDecimal.ROUND_UP) 
//    四舍五入,2.35变成2.4  setScale(1,BigDecimal.ROUND_HALF_UP) 
//    四舍五入,2.35变成2.3,如果是5则向下舍setScaler(1,BigDecimal.ROUND_HALF_DOWN) 
 
//例如:【
            MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);
//          精度为2,舍入模式为大于0.5进1,否则舍弃。 
//          BigDecimal a = new BigDecimal(0.5);
//          BigDecimal b = new BigDecimal(0.2);
//          System.out.println(a.divide(b,mc));
        】 
 //		System.out.println(num1.divide(num2,10,BigDecimal.ROUND_HALF_DOWN)); 
 //		System.out.println(a.remainder(b));//大整数取模 
 //		System.out.println(a.abs());//对大整数a取绝对 
 /*		System.out.println(num1.gcd(num2)); 
         //取绝对值 
         System.out.println(num1.abs()); 
         //取反 
         System.out.println(num1.negate()); 
         //取最大值 
         System.out.println(num1.max(num2));	//取最大值 
         System.out.println(num1.min(num2)); *///取最小值 
 //		int x=2; 
 //		System.out.println(a.pow(x));//大整数a的x次幂 
 //		int y = 8; 
 //		System.out.println(a.toString(y));//返回大整数a的p进制用字符串表现的形式 
 //		System.out.println(a.toString());//返回大整数a的十进制用字符串表现的形式 
 //		//大整数之间的比较 
 //		if(a.compareTo(b)==0)System.out.println("a==b"); 
 //		else if (a.compareTo(b)>0) System.out.println("a>b"); 
 //		else if (a.compareTo(b)<0) System.out.println("a<b"); 
 //		BigDecimal c,d; 
 //		c=BigDecimal.valueOf(55.55); 
 //		d=BigDecimal.valueOf(3.789); 
 //		System.out.println(c.add(d));//浮点数相加 
 //		System.out.println(c.subtract(d));//浮点数相减 
 //		System.out.println(c.multiply(d));//浮点数相乘 
 	} 
 } 

https://github.com/18253201677/Faker/blob/master/Java 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值