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:
#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