Python BasesFacile

Paire amicale

Guide détaillé et implémentation de Python pour le problème 'Friendly pair'.

Énoncé du problème

Facile

Écrivez une fonction is_friendly_pair(a, b) qui prend deux entiers positifs a et b et renvoie True s'ils forment une paire amicale, ou False sinon. Deux nombres forment une paire amicale s’ils ont le même indice d’abondance. L'indice d'abondance d'un nombre n est défini comme sigma(n) / n, où sigma(n) est la somme de tous les diviseurs de n (y compris n lui-même). Deux nombres sont amicaux si sigma(a) / a == sigma(b) / b. Pour éviter les problèmes de virgule flottante, comparez par multiplication croisée : sigma(a) * b == sigma(b) * a.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux bases, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.