Biletul 9 Atestat Informatica Programare

Biletul nr. 9. pentru atestat informatica la programare 2015

Mai jos este prezentat codul sursa al aplicatiei in C++, cod care verifica daca un numar este super prim, rezultatul va fi scris intr-un fisier.

Enuntul problemei:

9. Un număr natural se numeşte „super prim” dacă numărul respectiv şi toate prefixele acestuia sunt numere prime. Fişierul date.in conţine pe unica sa linie un număr natural n (n ≤ 1000000000). Să se verifice dacă acest număr este „super prim” şi, în caz afirmativ, să se determine prefixele sale. Rezultatul verificării va fi scris în fişierul date.out pe prima linie a acestui fişier sub forma unui mesaj corespunzător (DA sau NU după cum numărul este „super prim” sau nu); dacă numărul este „super prim”, fiecare următoare linie a fişierului va conţine câte un prefix al numărului respectiv.

bilet 9 atestate informatica programare

Rezolvarea problemei

#include<fstream.h>
# include <iostream.h>
# include <math.h>
int prim(int x,int d=2)
{
if(d>sqrt(x))
return 1;
else
if(x%d==0)
return 0;
else
return prim(x,d+1);
}
int main()
{fstream fin("date.in",ios::in), fout("date1.out",ios::out);
int n,ok=1,aux;
fin>>n;
aux=n;
while(n!=0)
{
if(prim(n)==0)
ok=0;
n=n/10;
}
if(ok==1)
{
fout<<"da";
while(aux!=0)
{if (aux!=n)
{ fout<<aux<<" ";
aux=aux/10;
}
}
}
else
fout<<"nu";
fin.close();
fout.close();
system("pause");
}

Scris de AtestateLaInformatica.ro

0