java大程序_Java大数类处理的简单程序

这是一个关于Java大数处理的程序集合,包括大数阶乘、棋盘覆盖问题、比较大小、大数加法和递推求值的实现。使用了`BigInteger`类进行大数运算,例如计算阶乘、棋盘覆盖问题的解决以及高精度的数学运算。程序通过`Scanner`读取输入,然后输出计算结果。
摘要由CSDN通过智能技术生成

大数阶乘

代码如下:

1. import java.io.*;

2. import java.math.BigInteger;

3. import java.util.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner cin = new Scanner(System.in);

10.         int n = cin.nextInt();

11.         BigInteger ans = BigInteger.ONE;

12.         for(int i = 1; i <= n; ++i)

13.             ans = ans.multiply(BigInteger.valueOf(i));

14.         System.out.println(ans);

15.     }

16. }

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);

}

}

棋盘覆盖

代码如下:

1. import java.math.BigInteger;

2. import java.util.*;

3. import java.io.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner in = new Scanner(System.in);

10.         int test = in.nextInt();

11.         while(test-- > 0)

12.         {

13.             int n;

14.             n = in.nextInt();

15.             BigInteger a = new BigInteger("4");

16.             for(int i = 1; i 

17.                 a = a.multiply(BigInteger.valueOf(4));

18.             System.out.println(a.subtract(BigInteger.valueOf(1)).divide(BigInteger.valueOf(3)));

19.         }

20.     }

21. }

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 

a = a.multiply(BigInteger.valueOf(4));

System.out.println(a.subtract(BigInteger.valueOf(1)).divide(BigInteger.valueOf(3)));

}

}

}

比较大小

代码如下:

1. import java.io.*;

2. import java.math.BigInteger;

3. import java.util.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner cin = new Scanner(System.in);

10.         while(cin.hasNext())

11.         {

12.             BigInteger a = cin.nextBigInteger();

13.             BigInteger b = cin.nextBigInteger();

14.             if(a.equals(BigInteger.ZERO) && b.equals(BigInteger.ZERO))

15.                 break;

16.             int flag = a.compareTo(b);

17.             if(flag == -1)

18.                 System.out.println("a

19.             else if(flag == 0)

20.                 System.out.println("a==b");

21.             else

22.                 System.out.println("a>b");

23.         }

24.     }

25. }

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

else if(flag == 0)

System.out.println("a==b");

else

System.out.println("a>b");

}

}

}

大数加法

代码如下:

1. import java.math.BigInteger;

2. import java.util.*;

3. import java.io.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner in = new Scanner(System.in);

10.         int n = in.nextInt();

11.         for(int i = 1; i <= n; ++i)

12.         {

13.             BigInteger a = in.nextBigInteger();

14.             BigInteger b = in.nextBigInteger();

15.             BigInteger ans = a.add(b);

16.             System.out.println("Case " + i + ":");

17.             System.out.println(a + " + " + b + " = " +ans);

18.         }

19.     }

20. }

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);

}

}

}

递推求值

代码如下:

1. import java.io.*;

2. import java.math.BigInteger;

3. import java.util.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner cin = new Scanner(System.in);

10.         BigInteger a[] = new BigInteger[100];

11.         while(cin.hasNext())

12.         {

13.             for(int i = 0; i <= 2; ++i)

14.                 a[i] = cin.nextBigInteger();

15.             for(int i = 3; i <= 99; ++i)

16.                 a[i] = a[i - 1].add(a[i - 2]).add(a[i - 3]);

17.             System.out.println(a[99]);

18.         }

19.     }

20. }

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]);

}

}

}

高精度幂

代码如下:

1. import java.io.*;

2. import java.math.BigDecimal;

3. import java.util.*;

4.

5. public class Main

6. {

7.     public static void main(String args[])

8.     {

9.         Scanner cin = new Scanner(System.in);

10.         while(cin.hasNext())

11.         {

12.             BigDecimal ans = cin.nextBigDecimal();

13.             int n = cin.nextInt();

14.             String res = ans.pow(n).stripTrailingZeros().toPlainString(); //整数去掉小数点和后面的0

15.             if(res.startsWith("0")) //去掉前导0

16.             {

17.                 res = res.substring(1);

18.             }

19.             System.out.println(res);

20.         }

21.     }

22. }

计算100!+101!+……+200!

import java.math.*;public class No0305{public static void main(String args[]){BigIntegerfirst100=new BigInteger("100"),//初始化各个大整数last201=new BigInteger("201"),one=new BigInteger("1"),power=new BigInteger("1"),result=new BigInteger("0");for (BigInteger i=one;i.compareTo(last201)<0;i=i.add(one))//循环累加从1到201{power=power.multiply(i);//求i!if(i.compareTo(first100)>=0)//从100!开始加result=result.add(power);}System.out.println(result.toString());}}

补充:

public static void main(String[] args) {//int的最大数值是2的31次方减1,如果在最大值上继续增加则会从最小值开始,循环下去。//BigInteger没有最大值,但计算并不是很方便需要使用里面定义的各种方法才可以。Integer i = new Integer(2147483647);BigInteger bi = new BigInteger("2147483647");System.out.println(i+1);System.out.println(bi.add(BigInteger.ONE));}

java中数值型数据的 无穷大、无穷小 的写法

无穷大:

Integer.MAX_VALUE;Long.MAX_VALUE;Double.MAX_VALUE

无穷小:Integer.MIN_VALUE;Long.MIN_VALUE;Double.MIN_VALUE;

http://blog.csdn.net/niushuai666/article/details/6972991

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值