Java大数的使用
来源:互联网 发布:spycall软件多少钱 编辑:程序博客网 时间:2024/06/05 09:31
参考飘过的小牛的博客,练习NYOJ的Java大数题目,主要是为了熟悉一下Java语言。(都快算抄袭了,,,)
Java中的运算符和常用方法的使用——链接
NYOJ 28 大数阶乘
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);}}
NYOJ 45 棋盘覆盖
这个棋盘是正方形的,去掉一个格子以后,恰好可以用图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)));}}}
NYOJ 73 比大小
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 if(flag == 1)System.out.println("a>b");elseSystem.out.println("a==b");}}}
NYOJ 103 A+B Problem II
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);}}}
NYOJ 114 某种序列
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]);}}}
NYOJ 155 求高精度幂
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();//去掉小数点后的0if(str.startsWith("0"))str = str.substring(1);System.out.println(str);}}}//Java帅呆了,自动补头文件啊//然而多个BigInteger的头
NYOJ 513 A+B Problem IV
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); }}}
524 A-B
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();//去掉小数点后的0if(str.startsWith("0"))System.out.println("YES");elseSystem.out.println("NO");}}}
803 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);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);elsec = a.remainder(b);System.out.println(c);}}}
0 0
- Java大数的使用
- (模板)JAVA 大数的使用
- java ACM 大数相加使用的bigInteger
- java中大数BigInger的使用
- JAVA大数使用
- JAVA大数的处理
- JAVA的大数处理
- Java的大数
- java 大数的比较
- Java中大数初级使用
- 使用大数的基础dp
- 【java】求大数的阶乘
- Java 大数包的撰写
- java大数的基本函数
- java实现大数的乘法:
- java求大数的阶乘
- java 实现大数的阶乘
- java大数类的应用
- ListView使用方法大总结
- android播放网络视频
- Android自定义带标题边框的Layout
- js实现文字从右滚动到左边代码循环滚动实例
- Sublime Java 环境配置-实现Java程序编译、运行
- Java大数的使用
- Maven 使用入门
- Get和Post的区别
- 安卓开发--关于锁屏状态下如何实现消息推送
- [CS231n@Stanford] Assignment1-Q3 (python) Softmax实现
- CF 540D. Bad Luck Island 概率dp
- Not supported for DML operations [ UPDATE ltd.miku.xxx.xxx SET xxxxxxx
- rvm 安装 ruby 之后,必须执行 /bin/bash --login 才能执行 ruby 命令
- Mac下ReactNative的环境搭建