👤

Buna! Am pus o poza cu algoritmul in C++ care corespunde cerintei de mai jos.
Problema mea e ca pentru numere mari timpul de executare este unul maaaaaaaare.
Cum pot scrie algoritmul ca sa se execute mai repede? Multumesc!

Cerinţa
Se citește un număr natural n. Să se determine câți divizori pari are acest număr.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran numărul C, reprezentând numărul divizorilor pari ai lui n.

Restricţii şi precizări
0 < n < 1.000.000.000

Exemplu
Intrare

12
Ieșire

4
Explicație
Divizorii pari lui 12 sunt 2, 4, 6 și 12.



Buna Am Pus O Poza Cu Algoritmul In C Care Corespunde Cerintei De Mai Jos Problema Mea E Ca Pentru Numere Mari Timpul De Executare Este Unul Maaaaaaaare Cum Pot class=

Răspuns :

Răspuns:

Cel mai bun algoritm pe pbinfo al lui Candale la sectiunea Resurse clasa 9

Explicație:

Acolo ai toate explicatiile necesare, ti-am atasat clar algoritmul

Vezi imaginea PERSOANAPERSONALA

Răspuns:

#include <iostream>

using namespace std;

int main()

{

long n, s = 0, i;

cin >> n;

for (i = 1; i*i <= n; i++)

{

 if (n%i == 0 && i%2==0)

 

  s++;

 if (n%i == 0 && i != n / i && (n / i) % 2 == 0)

  s++;

 

}    

cout << s;

   return 0;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari