Biletul 8 Atestat Informatica Programare

Biletul nr. 8. pentru atestat informatica la programare 2015

Mai jos este prezentat codul sursa al aplicatiei in C++, cod care va afisa toate reprezentarile unui numari ca suma de numere naturale consecutive, rezultatul va fi scris intr-un fisier.

Enuntul problemei:

8. Fişierul date.in conţine pe unica sa linie un număr natural n (n ≤ 1000000000). Să se determine toate reprezentările posibile ale acestui număr ca sumă de numere naturale nenule consecutive. Aceste reprezentări vor fi scrise în fişierul date.out, câte una pe fiecare linie a fişierului; numerele din cadrul fiecărei reprezentări vor fi separate prin spaţii.

bilet 8 atestate informatica programare

Rezolvarea problemei

#include<fstream.h>
# include <iostream.h>
int main()
{fstream fin("date.in",ios::in), fout("date.out",ios::out);
int j,n,s,k;
fin>>n;
for(int i=1;i<=n/2;i++)
{
s=i;
k=i+1;
while(s<n)
s=s+k++;
if(s==n)
{
for(j=i;j<k;j++)
fout<<j<<" ";
fout<<endl;
}
}
fin.close();
fout.close();
system("pause");
}

Scris de AtestateLaInformatica.ro

0