Advertisement
Guest User

Friendly numbers

a guest
Apr 24th, 2018
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.09 KB | None | 0 0
  1. # Программа выводящая дружественные числа меньшие чем заданное число n в интервале от 1 до n
  2. n = int(input('')) #Вводится n -- максимальное число до которого ведется поиск
  3.  
  4. pairs = {} #массив, в котором хранятся найденные пары
  5.    
  6. def divisors_sum(number): #Функция выводящая сумму делителей
  7.     return sum(x for x in range(1, (number//2)+1) if number%x == 0) #Подбор делителей числа и их суммирование
  8.    
  9. for i in range(1, n+1): # перебор чисел в диапазоне
  10.     summ = divisors_sum(i) # Получение суммы делителей числа i
  11.     if i == divisors_sum(summ) and i != summ : # проверка на дружественность числа summ
  12.         if i and summ not in pairs: #Убираем дублирования
  13.             pairs[i] = summ   #добавляем новые в массив
  14. print(pairs) # вывод массива
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement