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

Se dă un număr natural n. Să se determine dacă numărul se poate scrie ca sumă de două numere triunghiulare.
Dacă este posibil se vor afișa aceste numere în orice ordine, respectiv mesajul NU în caz contrar.

Un număr triunghiular este numărul de puncte dintr-un triunghi echilateral umplut uniform cu puncte. De exemplu, 1, 3, 6, 10, 15 sunt numere triunghiulare.


victorboghean: cele doua numere triunghiulare pot fi identice?
aleciuclea09: da

Răspunsuri la întrebare

Răspuns de victorboghean
1

Răspuns:

#include <iostream>

using namespace std;



int n, aux;

int main()

{

cout << "Dati un numar natural: n = ";  

cin >> n;

for(int i = 1; i < n; i++){

 for(int j = 1; j < n; j++){

  aux = i*(i+1)/2 + j*(j+1)/2;

  if(aux == n){

   cout << endl << n << " - poate fi scris ca suma de 2 nr triunghiulare";

   cout << endl << n << " = " << i*(i+1)/2 << " + " << j*(j+1)/2;

   cout << endl << endl;

   exit(1);

  }

 }

}

cout << endl << n << " - nu poate fi scris ca suma de 2 numere triunghiulare";  

cout << endl << endl;

return 0;

}

Alte întrebări interesante