0020 - Suma divizorilor primi

From Bitnami MediaWiki
Revision as of 14:08, 25 March 2023 by Cuceu Andrei (talk | contribs) (Pagină nouă: ==Cerință== Să se scrie o funcție Python care să determine suma divizorilor primi ai unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire. ==Restricții de precizări== *numele funcției va fi '''sum_div_prim''' *funcția va avea doi parametri, reprezentând numărul pentru care se calculează suma divizorilor, respectiv valoarea calculată *numărul pentru care se calculează suma divizorilor primi va f...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Să se scrie o funcție Python care să determine suma divizorilor primi ai unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire.


Restricții de precizări

  • numele funcției va fi sum_div_prim
  • funcția va avea doi parametri, reprezentând numărul pentru care se calculează suma divizorilor, respectiv valoarea calculată
  • numărul pentru care se calculează suma divizorilor primi va fi mai mare decât 1 și mai mic decât 2.000.000.000


Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

def sum_div_prim(numar):

   suma = 0
   for i in range(2, numar+1):
       if numar % i == 0:
           este_prim = True
           for j in range(2, int(i**0.5)+1):
               if i % j == 0:
                   este_prim = False
                   break
           if este_prim:
               suma += i
   return suma


</syntaxhighlight>