Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int n, num, g, s;
int main()
{
cout << "n= "; cin >> n;
cout << "sirul creat cu n termeni: " << endl;
g=1; s=0;
while (s+g<n)
{
for (num=g; num>0; --num)
cout << num << " ";
s=s+g; ++g;
}
int dif=n-s;
num=g;
for (int i=1; i<=dif; ++i)
cout << num-- << " ";
return 0;
}
Explicație:
conform enunţului şirul e foemat din grupuri:
(1)(21)(321)(4321)(54321)...
variabila n reprezintă nr. de termeni ai şirului, dacă n=10, atunci avem toţi termenii din patru grupe (1+2+3+4=10, în primul grup este 1 număr, în al doilea 2 numere, în al treilea 3 numere şi în al patrulea 4 numere)
Folosesc variabila s care face suma sirului Gauss şi variabila g ce reprezintă grupul
variabila num e de lucru. În caz că s+g e mai mare ca n atunci folosesc variabila dif pentru a vedea câţi termeni din următorul grup au rămas de afişat.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!