Python PodstawyŁatwe

Przyjazna para

Szczegółowy przewodnik i implementacja Python dla problemu „Przyjaznej pary”.

Oświadczenie o problemie

Łatwe

Napisz funkcję is_friendly_pair(a, b), która pobiera dwie dodatnie liczby całkowite a i b i zwraca True, jeśli tworzą one przyjazną parę, lub False w przeciwnym razie. Dwie liczby tworzą przyjazną parę, jeśli mają ten sam wskaźnik liczebności. Indeks obfitości liczby n jest zdefiniowany jako sigma(n) / n, gdzie sigma(n) jest sumą wszystkich dzielników n (w tym samego n). Dwie liczby są przyjazne, jeśli sigma(a) / a == sigma(b) / b. Aby uniknąć problemów zmiennoprzecinkowych, porównaj, mnożąc krzyżowo: sigma(a) * b == sigma(b) * a.

Ograniczenia
  • 1 <= a, b <= 10^5

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla podstaw, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.