HDU 2054 A==B? 大数

Problem Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
 

Input
each test case contains two numbers A and B.
 

Output
for each case, if A is equal to B, you should print "YES", or print "NO".
 

Sample Input
1 2 2 2 3 3 4 3
 

Sample Output
NO YES YES NO 还记得当初入门时被这题虐了千百次。。。看似简单 事实上条件非常多 给一些案例: 0   -0

0   +0

123.123     +00123.12300

100.00       100

.1     0.1

000.000     0

123456789123456789       123456789123456789

1     1

000001000.      1000

这些都是相等的

假设仅仅有这些 用两个double就能解决

但题目居然包含。。

大数

刚好今天看到 java 大数里的一个函数 compareTo()。

然后 嘿嘿嘿嘿。,。,。,

代码

import java.math.BigDecimal;
import java.util.Scanner;
public class Main2{
  public static void main(String[]  args)
  {
	  Scanner cin =new Scanner(System.in);
         BigDecimal  a,b;
         while(cin.hasNext())
         {
        	 a=cin.nextBigDecimal();
             b=cin.nextBigDecimal();
             if(a.compareTo(b)==0)
            	 System.out.println("YES");
             else
            	 System.out.println("NO");
         }
  }
}

a.compareTo(b)
a<b 返回-1
a=b 返回0
a>b 返回1

原文地址:https://www.cnblogs.com/liguangsunls/p/7191169.html