hdu 2054 A == B ? (java)

时间:2023-03-09 17:10:37
hdu 2054  A == B ? (java)

问题:

考虑问题不周到。没有考虑到可能是小数并且存在 1.0=1。01=1的情况。

本题使用了BigDecimal类,此类适用于高精度的数此时攻克了小数和01=1的问题,

该类比較方式中n.equal(m)比較精度,而n.compareTo(m)==0仅仅比較数值适用于该题。

A == B ?

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 73236    Accepted Submission(s): 11545

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

代码:

import java.math.BigDecimal;
import java.util.*; public class Main{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
while(cin.hasNextBigDecimal()){
BigDecimal n=cin.nextBigDecimal();
BigDecimal m=cin.nextBigDecimal();
if(n.compareTo(m)==0)
System.out.println("YES");
else
System.out.println("NO");
}
}
}