E_TwinNumbers.java 776 B

1234567891011121314151617181920212223242526272829303132
  1. package aoj.contest1399;
  2. import java.io.PrintWriter;
  3. import java.util.Scanner;
  4. public class E_TwinNumbers {
  5. static Scanner cin = new Scanner(System.in);
  6. static PrintWriter cout = new PrintWriter(System.out);
  7. public static void main(String[] args) {
  8. for (int T = cin.nextInt(); T-- > 0; ) {
  9. int n = cin.nextInt(), m = cin.nextInt();
  10. if (f(n) == m && f(m) == n)
  11. cout.println("YES");
  12. else
  13. cout.println("NO");
  14. }
  15. cout.close();
  16. cin.close();
  17. }
  18. private static int f(int n) {
  19. int tot = 1,c;
  20. for (c = 2; c * c < n; c++)
  21. if (n % c == 0) tot += c + n / c;
  22. if (n % c == 0)
  23. tot += c;
  24. return tot;
  25. }
  26. }