Если какие-нибудь две прямые пересечены третьей прямой, то пересекающая их прямая называется секущей по отношению к прямым, которые она пересекает.
При пересечении двух прямых третьей, образуется два вида углов: внешние и внутренние.
внутренние и внешние углы при двух пересечённых прямых
На рисунке изображены две прямые a и b, пересекаемые прямой c. Прямая c по отношению к прямым a и b является секущей. Синим цветом на рисунке обозначены внешние углы (∠1, ∠2, ∠7 и ∠8), а красным — внутренние углы (∠3, ∠4, ∠5 и ∠6).
Также при пересечении двух прямых третьей, образовавшиеся углы получают попарно следующие названия:
Соответственные углы: ∠1 и ∠5, ∠3 и ∠7, ∠2 и ∠6, ∠4 и ∠8. Соответственные углы
Внутренние накрест лежащие углы: ∠3 и ∠6, ∠4 и ∠5. Внутренние накрест лежащие углы
Внешние накрест лежащие углы: ∠1 и ∠8, ∠2 и ∠7. Внешние накрест лежащие углы
Внутренние односторонние углы: ∠3 и ∠5, ∠4 и ∠6. Внутренние односторонние углы
Внешние односторонние углы: ∠1 и ∠7, ∠2 и ∠8. Внешние односторонние углы
Углы при пересечении параллельных прямых
Если секущая пересекает две параллельные прямые линии, то:
внутренние накрест лежащие углы равны;
сумма внутренних односторонних углов равна 180°;
соответственные углы равны;
внешние накрест лежащие углы равны;
сумма внешних односторонних углов равна 180°.
Углы при пересечении параллельных прямых
def check_perfect(number:int, dividers = []):
for i in range(1, number):
if number%i == 0:
dividers.append(i)
if sum(dividers) == number:
return 1
def get_div(num, div = []):
for i in range(1, num):
if num%i == 0:
div.append(i)
return div
def main():
number = int(input())
if check_perfect(number):
print(' '.join(str(num) for num in get_div(number)))
else:
print(0)
if __name__ == '__main__':
main()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.