Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

두 숫자가 우호적인 숫자인지 확인하는 Python 프로그램

<시간/>

우호적 인 숫자는 서로 다른 두 숫자이므로 각각의 고유 약수의 합이 다른 숫자와 같습니다. 두 숫자가 우호적인 숫자인지 확인해야 하는 경우 해당 숫자를 반복하고 모듈러스 연산자를 사용하는 방법을 정의할 수 있습니다. 두 숫자가 우호적인지 여부를 결정하기 위해 이전에 정의된 함수를 호출하는 또 다른 방법이 정의됩니다.

아래는 동일한 데모입니다 -

예시

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'를 반환합니다.

  • 두 개의 숫자가 정의되어 콘솔에 표시됩니다.

  • 이 두 숫자를 전달하여 메서드를 호출합니다.

  • 출력에 따라 콘솔에 관련 메시지가 표시됩니다.