PracticeGym 100735I
Description
Statements
You are given three numbers. Is there a way to replace variables A, B and C with these numbers so the equality A + B = C is correct?
Input
There are three numbers X1, X2 and X3 (1 ≤ Xi ≤ 10100), each on a separate line of input.
Output
Output either “YES”, if there is a way to substitute variables A, B and C with given numbers so the equality is correct, or “NO” otherwise.
Sample Input
Input
1
2
3
Output
YES
Input
1
2
4
Output
YES
Input
1
3
5
Output
NO
可以用高精度加法,也可以用Java大数直接做;
给出Java 的代码:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
BigInteger a,b,c;
Scanner in = new Scanner(System.in);
a = in.nextBigInteger();
b = in.nextBigInteger();
c = in.nextBigInteger();
if(a.add(b).equals(c))
{
System.out.println("YES");
System.exit(0);
}
if(a.add(c).equals(b))
{
System.out.println("YES");
System.exit(0);
}
if(b.add(c).equals(a))
{
System.out.println("YES");
System.exit(0);
}
if(a.add(a).equals(b))
{
System.out.println("YES");
System.exit(0);
}
if(a.add(a).equals(c))
{
System.out.println("YES");
System.exit(0);
}
if(b.add(b).equals(a))
{
System.out.println("YES");
System.exit(0);
}
if(b.add(b).equals(c))
{
System.out.println("YES");
System.exit(0);
}
if(c.add(c).equals(a))
{
System.out.println("YES");
System.exit(0);
}
if(c.add(c).equals(b))
{
System.out.println("YES");
System.exit(0);
}
System.out.println("NO");
}
}
仅代表个人观点,欢迎交流探讨,勿喷~~~
PhotoBy:WLOP
http://weibo.com/wlop