fbpx

Problema #114 – FNumarDivizoriImpari – Rezolvari PBInfo

de Mihai-Alexandru

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â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.

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

S-ar putea sa iti placa