Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale nenule n şi k(k<n≤10000) şi afişează pe ecran un şir format din k numere naturale consecutive care ausuma n. Numerele se vor afişa pe ecran, în ordine crescătoare, despărţite între ele princâte un spaţiu. În cazul în care nu există un astfel de şir, se va afişa mesajul Nu există.

Răspuns :

#include <iostream>

using namespace std;

int a,b,i,k,l,j,s;

int main()
{

   cin >> a >> b;

   for(i=b;i<=a;i++)
   {
       k=0;
       l=0;
       s++;
       for(j=s;j<=i;j++)
       {
           k+=j;
           l++;
           if(k==a and l==b)
           {
               for(int q=j-l+1;q<=j;q++)
                cout << q << " ";
               return 0;
           }
           if(l==b)
            break;
       }
   }

   cout << "Nu exista";

   return 0;

}