← Back to List

27215번: Непохожие числа ↗

Solutions

PyPy3
888 B | 888 chars
import sys
from math import sqrt, pi, sin, factorial, ceil, floor
from datetime import datetime, timedelta
sys.setrecursionlimit(10**7)

BLANK = " "

#inp = input
inp = lambda : sys.stdin.readline().rstrip()
mii = lambda x = BLANK : [*map(int,inp().split(x))]
mfi = lambda x = BLANK : [*map(float,inp().split(x))]
ii = lambda : int(inp())
fi = lambda : float(inp())
p = print

def divisors(k):
  i = 1
  ret = set()
  while i * i <= k:
    if k % i == 0:
      ret.add(i)
      if i != k // i:
        ret.add(k // i)
    i += 1
  return ret

def solve():
  x = ii()
  l = ii()
  r = ii()
  ans = []

  for i in range(l, r + 1):
    if x == i:
      continue

    a = divisors(i)
    b = divisors(x)
    
    k = a.intersection(b)
    
    if len(k) <= 2:
      ans.append(i)
  
  p(len(ans))
  p(*ans)
  
if __name__ == "__main__":
  tc = 1

  for t in range(1, tc+1):
    ret = solve()