Informatică, întrebare adresată de bibiluta17, 8 ani în urmă

Se citeşte un număr natural n şi se cere să se scrie cea mai mică valoare naturală x (x≥n)
care se poate obţine ca produs de două numere naturale consecutive.

Răspunsuri la întrebare

Răspuns de bteiosanu
1

Răspuns:

#include <iostream>

int main() {

 int n;

 std::cin >> n; // citim numarul n

 int x = n; // setam x la n

 while (true) { // bucla infinita

   bool found = false; // variabila care indica daca am gasit un x valid

   for (int i = 1; i * (i + 1) <= x; i++) { // iteram de la 1 la radacina patrata din x

     if (x % (i * (i + 1)) == 0) { // verificam daca x este un produs de numere consecutive

       found = true; // am gasit un x valid

       break; // oprim iterarea

     }

   }

   if (found) { // daca am gasit un x valid, oprim bucla infinita

     break;

   }

   x++; // daca nu am gasit un x valid, il incrementam si continuam iterarea

 }

 std::cout << x << std::endl; // afisam x-ul gasit

 return 0;

}

Explicație:

Sper că te-am ajutat!

bteiosanu


bibiluta17: Mulțumesc
Alte întrebări interesante