우호적 인 숫자는 서로 다른 두 숫자이므로 각각의 고유 약수의 합이 다른 숫자와 같습니다. 두 숫자가 우호적인 숫자인지 확인해야 하는 경우 해당 숫자를 반복하고 모듈러스 연산자를 사용하는 방법을 정의할 수 있습니다. 두 숫자가 우호적인지 여부를 결정하기 위해 이전에 정의된 함수를 호출하는 또 다른 방법이 정의됩니다.
아래는 동일한 데모입니다 -
예시
import math def divided_sum_val(my_val) : res = 0 for i in range(2, int(math.sqrt(my_val)) + 1) : if (my_val % i == 0) : if (i == int(my_val / i)) : res = res + i else : res = res + (i + int(my_val / i)) return (res + 1) def check_amicable(x, y) : if (divided_sum_val(x) != y) : return False return (divided_sum_val(y) == x) first_num = 220 second_num = 288 print("The numbers are :") print(first_num) print(second_num) if (check_amicable(first_num, second_num)) : print ("The given numbers are amicable in nature") else : print ("The given numbers are not amicable in nature")
출력
The numbers are : 220 288 The given numbers are not amicable in nature
설명
-
정수를 매개변수로 사용하는 'divided_sum_val'이라는 메서드가 정의되어 있습니다.
-
'for' 루프를 사용하여 값을 반복하고 숫자의 분할 가능성을 확인합니다.
-
반복자가 반복자로 나눈 값과 같으면 반복자만큼 증가합니다.
-
그렇지 않으면 나눗셈 전체가 더해진다.
-
두 개의 숫자를 사용하는 'check_amicable'이라는 또 다른 메서드가 정의되어 있습니다.
-
'divided_sum_val'을 호출하고 계산된 값에 따라 'True' 또는 'False'를 반환합니다.
-
두 개의 숫자가 정의되어 콘솔에 표시됩니다.
-
이 두 숫자를 전달하여 메서드를 호출합니다.
-
출력에 따라 콘솔에 관련 메시지가 표시됩니다.