Dec-3task.py 1.6 KB

123456789101112131415161718192021222324252627282930
  1. # Для новой маркетинговой акции Ксюша придумала провести математическую лотерею. Она загадала натуральное число n и напечатала на билетах пары положительных чисел a, b такие, что a + b =n. Победителем лотереи будет считаться участник, получивший билет с минимальным наименьшим общим кратным (НОК) чисел a и b.
  2. # Ксюша хочет заранее понять, какие подходящие числа a и b можно выбрать, чтобы их НОК было минимально возможным. Поможете ей?
  3. # Формат входных данных
  4. # В единственной строке вводится натуральное число n (2 ≤ n ≤ 10^9) — загаданное Ксюшей число n.
  5. # Формат выходных данных
  6. # Выведите через пробел два числа a и b — искомую пару с минимальным НОК.
  7. # Если подходящих ответов несколько, выведите любой.
  8. num = int(input())
  9. def isPrime(num):
  10. if num % 2 == 0:
  11. return 2
  12. d = 3
  13. while d * d <= num and num % d != 0:
  14. d += 2
  15. if num % d == 0:
  16. return d
  17. return num
  18. devider = isPrime(num);
  19. if num == 1:
  20. print(1, 0)
  21. if devider == num and num != 1:
  22. print(1, int(num - 1))
  23. if devider != num and num != 1:
  24. print(int(num // devider), int(num - num // devider))