fork download
  1. n = int(input('Введите число n: '))
  2. k = int(input('Введите количество общих делителей k: '))
  3. # эта функция возвращает количество всех общих делителей
  4. def all_deliteli(a,b):
  5. n = 0
  6. for i in range(1, min(a, b) + 1):
  7. if a % i == b % i == 0:
  8. n += 1
  9. return n
  10.  
  11. count_chisel = 0 # счетчик
  12. """ Тут мы начинаем циклом проходить от 1 до указанного числа n.
  13. Проверяем общее число делителей двух чисел: 1 и 1, потом
  14. 1 и 2, 1 и 3 и т.д """
  15. for x in range(1, n + 1):
  16. all_gcd = all_deliteli(x, n)
  17. if all_gcd == k: # Если число делителей совпадает с нашим указанным числом k, то мы увеличиваем счетчик
  18. count_chisel += 1 # вот тут
  19. print(count_chisel)
  20.  
  21.  
Success #stdin #stdout 1.3s 7668KB
stdin
5000
2
stdout
Введите число n: Введите количество общих делителей k: 1400