Informatică, întrebare adresată de edward12, 9 ani în urmă

C++
Se citește un număr natural n. Să se stabilească dacă n poate fi scris ca sumă de trei numere naturale consecutive.

§§Date de intrare
Programul citește de la tastatură numărul n.
§§Date de ieşire
Programul afișează pe ecran trei numere naturale consecutive a căror sumă este n, ordonate crescător și separate prin exact un spațiu, dacă există sau mesajul NU EXISTA, dacă nu există trei astfel de numere.
§§Restricţii şi precizări
1 ≤ n ≤ 1.000.000.000.

Eu l-am facut asa dar e prea lent :
#include<iostream> using namespace std; int n,a,b,c,i; int main() { cin>>n; for(i=0;i<=n;i++) { a=i+i+1+i+2; if(a==n) { cout<<i<<" "<<i+1<<" "<<i+2; } } }

Răspunsuri la întrebare

Răspuns de Emil1234
30
Rezolvare C++:

# include<iostream>
using namespace std;
int main()
{
    long long n,i,OK=0;
    cin>>n;
    if(n/3-1+n/3+n/3+1==n) {cout<<n/3-1<<" "<<n/3<<" "<<n/3+1;
                            OK=1;}
    if(!OK) cout<<"NU EXISTA";
}


edward12: multumesc
Emil1234: Npc.
Alte întrebări interesante