316
Cerinţa
Să se scrie o funcție C++ care să determine numărul divizorilor impari ai unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire.
Restricţii şi precizări
- numele funcției va fi
nr_div_imp
- funcția va avea doi parametri, reprezentând numărul pentru care se calculează numarul divizorilor impari, respectiv valoarea calculată
- numărul pentru care se calculează numărul divizorilor impari va fi mai mare decât
1
și mai mic decât2.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.
int nr_div_imp(int n , int& cnt) { cnt=0; for(int i = 1 ; i * i <= n ; ++i) { if(n%i==0) { if(i%2==1) cnt++; if((n/i)%2==1) cnt++; } if(i*i==n && i%2==1) cnt--; } }
Comentarii