Informatică, întrebare adresată de romanianguy284, 9 ani în urmă

Salut!Am facut o problema pe site-ul pbinfo numita Numarul Divizorilor Pari si din anumite motive primesc doar 60 de puncte fiindca zice ca limita de timp a fost depasita.

Acesta este codul folosit.Ma puteti ajuta?
#include <iostream>
using namespace std;
int main()
{   int n,C,d;   
cin>>n;   
C=0;   
d=1;   
while(d<n) 
 {       d++;       if(n%d==0)
       if(d%2==0)        C=C+1;   
}

   cout<<C;   return 0;
}

Va multumesc anticipat!

Răspunsuri la întrebare

Răspuns de andrei750238
0

#include <iostream>

using namespace std;

int main() {

int n, d, nr;

cin >> n;

nr = 0;

d = 1;

while (d*d <= n) {

 if (n % d == 0) {

  if (d % 2 == 0)

   nr++;

  if (d * d != n && ((n / d) % 2 == 0))

   nr++;

 }

 d++;

}

cout << nr;

return 0;

}

Anexe:
Alte întrebări interesante