Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.ArrayList;
  4.  
  5. public class Solution {
  6. public static void main(String[] args) throws Exception {
  7. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  8.  
  9. String sOneNum = reader.readLine();
  10. check(sOneNum);
  11. String sTwoNum = reader.readLine();
  12. check(sTwoNum);
  13. int oneNumber = Integer.parseInt(sOneNum);
  14. int twoNumber = Integer.parseInt(sTwoNum);
  15.  
  16. ArrayList<Integer> forOneNumber = divider(oneNumber);
  17. ArrayList<Integer> forTwoNumber = divider(twoNumber);
  18.  
  19. int NOD = 1;
  20.  
  21. for (int i = 0; i < forOneNumber.size(); i++) {
  22. for (int j = 0; j < forTwoNumber.size(); j++) {
  23. if (forOneNumber.get(i).equals(forTwoNumber.get(j))) {
  24. if (NOD == 1) {
  25. NOD = forOneNumber.get(i);
  26. }
  27. NOD = NOD * forTwoNumber.get(j);
  28. forOneNumber.remove(i);
  29. forTwoNumber.remove(j);
  30. break;
  31. }
  32. }
  33. }
  34. System.out.println(NOD);
  35. }
  36.  
  37. private static ArrayList<Integer> divider(Integer num) {
  38. ArrayList<Integer> divider = new ArrayList<>();
  39. int i = 2;
  40. while (true) {
  41. if (num % i == 0) {
  42. num = num / i;
  43. divider.add(i);
  44. } else {
  45. i++;
  46. }
  47. if (num == 1) {
  48. break;
  49. }
  50. }
  51. return divider;
  52. }
  53.  
  54. public static void check(String s) throws Exception {
  55. if (s.contains("-") || s.contains(".")) {
  56. throw new Exception();
  57. }
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement