C++
Cerința
Se dau n numere naturale distincte. Determinaţi câte triunghiuri distincte pot avea lungimile laturilor printre aceste numere.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n numere naturale.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de triunghiuri determinate.
Restricții și precizări
1<=n<=100
cele numere citite vor fi mai mici decât 1000000
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
#include <iostream>
using namespace std;
int v[101];
int main()
{
int n, a, b, c, k=0, i, j, z;
cin >> n;
for (i=1; i<=n; ++i) cin >> v[i];
for (i=1; i<n-1; ++i)
{
for (j=i+1; j<n; ++j)
{
for (z=j+1; z<=n; ++z)
{
a=v[i]; b=v[j]; c=v[z];
if (a>b) swap(a,b);
if (b>c) swap(b,c);
if (a+b>c) ++k;
}
}
}
cout << k;
return 0;
}
Explicație:
Se foloseşte regula triunghiului că Suma a oricăror două laturi este mai mare ca latura a treia. Ca să evit multe verificări am ordonat crescător laturile
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă