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

Un număr natural nenul n se numește norocos dacă pătratul lui se poate scrie ca sumă de n numere naturale consecutive.
Ex: 3 deoarece 3 * 3 = 2 + 3 + 4;
7 deoarece 7 * 7 = 4 + 5 + 6 + 7 + 8 + 9 + 10;

Se dă un număr natural n. Dacă numărul este norocos afișați cele n numere consecutive care adunate dau pătratul acestuia.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Daca n este norocos, programul va afișa pe ecran cele n numere consecutive care adunate dau n * n, separate prin spații. In caz contrar, programul va afișa mesajul NU ESTE NOROCOS

Restricții și precizări
1 ≤ n ≤ 1000

Exemplu
Intrare

7
Ieșire

4 5 6 7 8 9 10
Explicație
7 este numar norocos iar 7 * 7 se poate scrie ca 4 + 5 + 6 + 7 + 8 + 9 + 10;

Aș dori un mic ajutor...

Răspunsuri la întrebare

Răspuns de crazymonkey98
8
inceputul il pui singur
i=0; c=1;(c e contorul de numere n si i e de la cat incepe)y=0;(y contor true/false daca e prietenos sau nu)
do {i=i+1;j=i;S=i;
do {S=S+j;
j=j+1;
c=c+1;}
while((c<=n)&&(S<=n*n)

if ((c==n)&&(S==n*n*))
for (k=i;k<=c;i++)
cout<<i<<" ";y=1;
while (i<=n)
if (y==0)else cout<<"nu este norocos";}
return 0;}

potop2: Imi cer scuze de îndrazneala, dar ai putea oare sa imi exemplifici, in C++, ca nu inteleg exact.....bine-nteles daca poti...si vrei... :)
crazymonkey98: ti l-am facut in c++
Alte întrebări interesante