博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java大数的使用
阅读量:2133 次
发布时间:2019-04-30

本文共 3989 字,大约阅读时间需要 13 分钟。

参考的博客,练习NYOJ的Java大数题目,主要是为了熟悉一下Java语言。(都快算抄袭了,,,)

Java中的运算符和常用方法的使用——

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		int n = in.nextInt();		BigInteger ans = BigInteger.ONE;		for(int i = 1;i <= n;i++)			ans = ans.multiply(BigInteger.valueOf(i));		System.out.println(ans);	}}

  这个棋盘是正方形的,去掉一个格子以后,恰好可以用图2全部覆盖(这个的原因未知),所以棋盘的格子总数 4^k - 1  除以3  就是结果了。

  即(4^k - 1) / 3

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		int t = in.nextInt(),k;		while(t-- > 0)		{			k = in.nextInt();			BigInteger ans = new BigInteger("4");			for(int i = 1;i <= k-1;i++)				ans = ans.multiply(BigInteger.valueOf(4));			System.out.println(ans.subtract(BigInteger.valueOf(1)).divide(BigInteger.valueOf(3)));		}	}}

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		while(in.hasNext())		{			BigInteger a = in.nextBigInteger();			BigInteger b = in.nextBigInteger();			if(a.equals(BigInteger.ZERO) && b.equals(BigInteger.ZERO))                  break;						int flag = a.compareTo(b);			if(flag == -1)				System.out.println("a
b"); else System.out.println("a==b"); } }}

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		int t = in.nextInt();		for(int ca = 1;ca <= t;ca++)		{			BigInteger a = in.nextBigInteger();			BigInteger b = in.nextBigInteger();			BigInteger sum = a.add(b);			System.out.println("Case " + ca + ":");			System.out.println(a+ " + " +b + " = " +sum);		}	}}

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		BigInteger [] a = new BigInteger[105];		while(in.hasNext())//多组数据		{			for(int i = 0;i < 3;i++)				a[i] = in.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]);		}	}}

import java.math.BigDecimal;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		while(in.hasNext())		{			BigDecimal R = in.nextBigDecimal();			int n = in.nextInt();			String str = R.pow(n).stripTrailingZeros().toPlainString();//去掉小数点后的0			if(str.startsWith("0"))				str = str.substring(1);			System.out.println(str);		}	}}//Java帅呆了,自动补头文件啊//然而多个BigInteger的头

import java.math.BigDecimal;import java.util.Scanner;public class Main{	public static void main(String []args){		Scanner in = new Scanner(System.in);		BigDecimal esp = new BigDecimal("0.0");		while(in.hasNext())          {              BigDecimal a = in.nextBigDecimal();              BigDecimal b = in.nextBigDecimal();            String str = a.add(b).stripTrailingZeros().toPlainString();//去掉小数点后的0              BigDecimal sum = a.add(b);            if(sum.compareTo(esp) == 0)              	System.out.println(0);            else            	System.out.println(str);          }	}}

import java.math.BigDecimal;import java.util.Scanner;public class Main {	public static void main(String [] args){		Scanner in = new Scanner(System.in);		while(in.hasNext())		{			BigDecimal a = in.nextBigDecimal();			BigDecimal b = in.nextBigDecimal();			BigDecimal c = a.subtract(b);			String str = c.stripTrailingZeros().toPlainString();//去掉小数点后的0			if(str.startsWith("0"))				System.out.println("YES");			else				System.out.println("NO");		}	}}

import java.math.BigInteger;import java.util.Scanner;public class Main {	public static void main(String [] args){		Scanner in = new Scanner(System.in);		BigInteger a,b,c;		String s;		while(in.hasNext())		{			a = in.nextBigInteger();			s = in.next();			b = in.nextBigInteger();			if(s.charAt(0) == '/')				c = a.divide(b);			else				c = a.remainder(b);			System.out.println(c);		}	}}

转载地址:http://sqzgf.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】7-Reverse Integer
查看>>
【LEETCODE】165-Compare Version Numbers
查看>>
【LEETCODE】299-Bulls and Cows
查看>>
【LEETCODE】223-Rectangle Area
查看>>
【LEETCODE】12-Integer to Roman
查看>>
【学习方法】如何分析源代码
查看>>
【LEETCODE】61- Rotate List [Python]
查看>>
【LEETCODE】143- Reorder List [Python]
查看>>
【LEETCODE】82- Remove Duplicates from Sorted List II [Python]
查看>>
【LEETCODE】86- Partition List [Python]
查看>>
【LEETCODE】147- Insertion Sort List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
对比学习用 Keras 搭建 CNN RNN 等常用神经网络
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>