AlexG2230954

25. Основные функции

Jun 23rd, 2021 (edited)
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.46 KB | None | 0 0
  1. def p(num):
  2.     """определяет, является ли число num простым"""
  3.  
  4.     q = 2
  5.     while q * q <= num: # проходимся до корня из num
  6.         if num % q:
  7.             return False # если найден делитель, то число - не простое
  8.         q += 1
  9.    
  10.     return True # делители не найдены. Число простое
  11.  
  12.  
  13. def get_div(num):
  14.     """ищет все делители числа num"""
  15.    
  16.     divs = [1, num] # если в условии пишут "не считая 1 и само число", то divs = []
  17.     q = 2
  18.    
  19.     while q * q <= num:
  20.         if num % q == 0: # ищем первый делитель
  21.             divs.append(q)
  22.            
  23.             if (num // q) != q: # ищем парный делитель
  24.                 divs.append(num // q)
  25.    
  26.     return sorted(divs)
  27.  
  28. # первые 6 чисел после 385 000, у которых сумма делителей кратна 7.
  29. number = 385_000 + 1 # т.к. в условия сказано "после", то само 385 000 не учитываем
  30. count = 0
  31.  
  32. while count < 6:
  33.     divs = get_div(number) # получаем все делители числа
  34.    
  35.     if sum(divs) % 7 == 0: # если их сумма делится на 7...
  36.         count += 1 # добавляем к счетчику найденных чисел
  37.         print(number, sum(divs))
  38.    
  39.     number += 1
Add Comment
Please, Sign In to add comment