Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int p, n, i, v[102], s, c, a, r;
int main()
{
cin >> n >> p;
for (i=1; i<=n; ++i)
{ v[i]=i; s=s+i; }
a=(p-s)/n;
for (i=1; i<=n; ++i) v[i]+=a;
r=(p-s)%n;
for (i=n-r+1; i<=n; ++i) ++v[i];
for (i=1; i<=n; ++i)
cout << v[i] << " ";
}
Explicație:
https://pastebin.com/iM7dskYD
Am plasat şi link-ul de pe pastebin, în caz că ai probleme la copy/paste
Am folosit suma Gaus 1+2+... +n
am plasat în vector primele n numere naturale distincte, de la 1 la n
Prin a=(p-s)/n; am aflat cât se poate adăuga la fiecare, dacă p > s
prin r=(p-s)%n; am aflat ce rest a mai rămas de adăugat, şi în fine am adăugat câte 1 la ultimii r termeni
Succese, sănătate şi Paşte fericit
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.