Advertisement
genium08

Tasks for 09.10.2024

Oct 8th, 2024 (edited)
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. Задание 1: Поиск чисел с нечётными делителями
  2. Напечатать числа в диапазоне [140 * 10^6; 170 * 10^6], которые имеют ровно 5 различных нечётных делителей. У таких чисел может быть произвольное количество чётных делителей.
  3.  
  4. Замечание: Число может иметь ровно 5 нечётных делителей только в том случае, если оно имеет единственное нечётное простое число в 4 степени.
  5.  
  6. def eratosthenes_sieve(n):
  7.     """Возвращает список простых чисел до n."""
  8.     is_prime = [True] * (n + 1)
  9.     for i in range(2, n + 1):
  10.         if is_prime[i]:
  11.             for j in range(2 * i, n + 1, i):
  12.                 is_prime[j] = False
  13.     return [i for i in range(3, n + 1) if is_prime[i]]
  14.  
  15. # Задаем диапазон
  16. start_range = 140 * 10 ** 6
  17. end_range = 170 * 10 ** 6
  18.  
  19. # Находим числа с 5 нечётными делителями
  20. max_prime = int(end_range ** 0.25) + 1
  21. primes = eratosthenes_sieve(max_prime)
  22. for p in primes:
  23.     num = p ** 4
  24.     while num <= end_range:
  25.         if num >= start_range:
  26.             # Печатаем результаты
  27.             print(num, end=' ')
  28.         num *= 2
  29.  
  30. Задание 2: Поиск чисел по маске
  31. Напечатать все числа, которые меньше 10^10, соответствующие маске 3*5?27?, и кратные 9172. Здесь:
  32.  
  33. * — любое количество любых цифр
  34. ? — одна любая цифра
  35.  
  36. counter = 0
  37.  
  38. for n1 in range(0, 10000):
  39.     for n2 in range(0, 10):
  40.         for n3 in range(0, 10):
  41.             str1 = str(n1).zfill(4)  # добавляем ведущие нули
  42.             num = int(f"3{str1}5{n2}27{n3}")
  43.             if num % 9172 == 0:
  44.                 counter += 1
  45.                 print(num)
  46.  
  47. print(f"Всего найдено: {counter} чисел.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement