PAT 乙级 B1011

mac2024-03-06  30

思路:

因为是大数字,所以要用BigInteger这个类。

BigInteger这个类中的一些方法可以直接进行运算操作,比如直接有加减乘除这种。

x.compareTo(y)这个函数可以直接比较,如果x>y,返回1;x等于y,返回0;x<y,返回-1;

x,y必须是同类型的。可以是Byte, Double, Integer, Float, Long 或 Short 类型的参数。String,Date也可以。本例中,BigInteger也可以。

二维数组可以只赋第二维。

代码:

import java.util.*; import java.math.*; public class Main { public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); BigInteger a[][]=new BigInteger[n][3]; //二维数组可以只赋第二维 输入大数 for(int i=0;i<n;i++){ for(int j=0;j<3;j++){ a[i][j]=sc.nextBigInteger(); } } // for(int i=0;i<n;i++){ System.out.println("Case #"+(i+1)+": "+(a[i][0].add(a[i][1]).compareTo(a[i][2])==1)); } } }

声明:参考的是下面这篇博客的做法,特此说明。

https://blog.csdn.net/liuchuo/article/details/56676582

最新回复(0)