Fişierul intrare/ieşire:sumadiv.in, sumadiv.outSursăCerc informatică Vianu
AutorCristian FrancuAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.05 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Sumadiv (clasa a 7-a)

Notă: acesta este un exerciţiu introductiv în recursivitate. Pentru a avea sens respectaţi cerinţa întocmai, rezolvîndu-l cu o funcţie recursivă. Dacă scrieţi corect funcţia ea nu trebuie să conţină instrucţiuni de ciclare, gen for, while sau do ... while.

Se citeşte un număr n. Să se scrie un program care să afişeze suma divizorilor lui n. Această sumă trebuie calculată folosind o functie recursivă care va arăta astfel:

int sumd( int n, int d ) {
 ...
}

Funcţia va fi apelată iniţial astfel:

suma = sumd( n, 1 );

Date de intrare

Fişierul de intrare sumadiv.in conţine un singur număr, n.

Date de ieşire

În fişierul de ieşire sumadiv.out se va scrie un singur număr şi anume suma divizorilor calculată recursiv.

Restricţii

  • 1 ≤ n ≤ 100 000 000
  • Se garantează că suma divizorilor nu va depăşi 2 000 000 000

Exemplu

sumadiv.insumadiv.outExplicaţie
26
42
Divizorii lui 26 sînt 1 2 13 26, a căror sumă este 42
Trebuie sa te autentifici pentru a trimite solutii. Click aici