Python 기본 사항쉬움

우호적인 쌍

'Friendly pair' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

두 개의 양의 정수 ab를 사용하여 친숙한 쌍을 형성하면 True을 반환하고 그렇지 않으면 False을 반환하는 함수 is_friendly_pair(a, b)을 작성하세요. 두 숫자가 동일한 풍부 지수를 갖는 경우 우호적인 쌍을 형성합니다. 숫자 n의 풍부도 지수는 sigma(n) / n으로 정의됩니다. 여기서 sigma(n)n의 모든 제수(n 자체 포함)의 합계입니다. sigma(a) / a == sigma(b) / b인 경우 두 숫자는 친숙합니다. 부동 소수점 문제를 방지하려면 교차 곱셈을 통해 비교하세요: sigma(a) * b == sigma(b) * a.

제약
  • 1 <= a, b <= 10^5

Example 1
Input
a = 6, b = 28
Output
True
Explanation

sigma(6) = 1+2+3+6 = 12. sigma(28) = 1+2+4+7+14+28 = 56. Cross check: 12 * 28 = 336, 56 * 6 = 336. They are equal, so they are a friendly pair.

Example 2
Input
a = 30, b = 140
Output
True
Explanation

sigma(30) = 72, sigma(140) = 336. Cross check: 72 * 140 = 10080, 336 * 30 = 10080. Equal, so friendly pair.

Example 3
Input
a = 5, b = 10
Output
False
Explanation

sigma(5) = 6, sigma(10) = 18. Cross check: 6 * 10 = 60, 18 * 5 = 90. Not equal, so not a friendly pair.

Need a Hint?
세트나 힙과 같은 기본 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.