Atestat Informatica – Pascal/C/C++ – P. 21


Problema 21 din 25. Mai avem putin.

Subiect

In fisierul date.in se gasesc pe o singura linie, separate prin cate un spatiu, mai multe numere naturale din intervalul [10, 10.000.000-1].

Se considera subprogramele:

  • - s1 cu un singur parametru k prin intermediul caruia primeste un numar natural nenul cu cel mult 6 cifre. Subprogramul returneaza numarul format din prima si ultima cifra a valorii parametrului k
  • - s2 cu un singur parametru k prin intermediul caruia primeste un numar natural nenul cu cel mult 6 cifre. Subprogramul returneaza cel mai mic numar prim mai mare sau egal cu k


Cerinta

  • - scrieti definitia completa a celor doua subprograme
  • - sa se scrie programul principal Pascal/C/C++ care sa determine pentru fiecare numar x citit din fisierul date.in, cel mai mic numar prim mai mare sau egal cu numarul format din prima si ultima cifra a lui x, in aceasta ordine, folosind apeluri utile ale subprogramelor S1 si S2. Numerele prime determinate se vor afisa pe ecran, pe o singura linie, separate cate un spatiu

Rezolvare in Pascal

var f: text;
	n: integer;
function s1(k: longint):integer;
var s: integer;
begin
	s := k mod 10;
	while (k>9) do k := k div 10;
	s := k * 10 + s;
	s1 := s;
end;
function prim(n: integer):boolean;
var i: integer;
begin
	if (n=0) or (n=1) then
		prim := false;
	for i := 2 to trunc(sqrt(n)) do
		if (n mod i = 0) then
			prim := true;
end;
function s2(k: integer):integer;
begin
	while not(prim(k)) do k := k + 1;
	s2 := k;
end;
begin
	assign(f, 'date.in');
	reset(f);
	while(not eof(f)) do begin
		read(f, n);
		write(s2(s1(n)), ' ');
	end;
	close(f);
end.

Rezolvare in C/C++

#include
#include
int s1(long k) {
	int s=k%10;
	while(k>9)
		k=k/10;
	s=k*10+s;
	return s;
}
int prim(int n) {
	for(int i=2; i>n) {
		cout<<s2(s1(n))<<' ';
	}
	f.close();
}

C’ya next time!



Ti-a placut articolul Atestat Informatica – Pascal/C/C++ – P. 21?

Ai nevoie de rezolvarea unei probleme la informatica?

Iti recomandam si urmatoarele articole:

4 comentarii pentru Atestat Informatica – Pascal/C/C++ – P. 21

  • maryttza - 17 mai

    Marya Vlad



  • stefan - 18 mai

    @Marya Vlad: Multumim, ai primit cadou 100 de puncte.



  • nickushor - 22 aprilie

    Super articolul acum am inteles cum lucreaza function:D



  • alexe - 23 aprilie

    multzumim stefan:D:)



Discuta articolul Atestat Informatica – Pascal/C/C++ – P. 21



Contul tau

Categorii

Mozku Network

Ne gasesti si pe Facebook

Articole noi

Fisiere populare

  • Proiect Atestat Informatica Visual FoxPro (439)
  • Twitter Patterns (202)
  • Flash Newsletter (126)
  • Baza de date auto revizuita (99)
  • hitTest Flash (99)

Marcaje articole