#python
#python
Вопрос:
Определите однопараметрическое разрешение print_for (n), n представляет диапазон, в котором будет напечатан номер друга. Для n = 10 000 результатов, пять пар дружественных номеров: 220 и 284, 1184 и 1210, 2620 и 2924, 5020 и 5564, а также 6232 и 6368.
from math import *
def sum_of_divisor (a):
pom = 1
for i in range (2, int (sqrt(a)) 1):
if a % i == 0:
pom = i
if i != a // i:
pom = a // i
return pom
def friendly_n (a, b):
result = "false"
if(a == sum_of_divisor(b) and sum_of_divisor(a) == b):
result = "true"
return result
a = 284
b = 220
def write_friendly(n)
Я не знаю, как написать функцию для печати дружественных чисел.
Пожалуйста, помогите
Комментарии:
1. Каково определение дружественных номеров? Возможно, переведите имена функций на английский, это может быть более понятно для остальных из нас.
2. В теории чисел дружественные числа — это два или более натуральных числа с общим индексом изобилия, отношением между суммой делителей числа и самим числом. Два числа с одинаковым «изобилием» образуют дружественную пару; n чисел с одинаковым «изобилием» образуют дружественный n-кортеж.
3. Я перевел имена функций на английский
4. ХОРОШО, перевод действительно помогает. Итак, вы хотите перейти к
friendly_n
a и b, где a и b находятся в диапазоне от 2 доn
, а a не является b? Может быть, с двумя вложенными циклами for ?5. Мне нужно написать программу в соответствии с приведенной выше командой, и я не знаю, как написать функцию, которая печатает номера друзей
Ответ №1:
После ваших комментариев, возможно, это поможет:
if friendly_n(a, b) == 'true': # a and b are friendly, according to friendly_n
string_to_print = str(a) ' and ' str(b) ' are friendly'
print(string_to_print)
?