👤

O legendă spune că, într-o zi, un nou rege se va ridica pentru a uni lumea de la suprafață cu cea din adâncuri. Arthur s-a antrenat toată viaţa. S-a antrenat să fie războinic, să fie cel mai bun. Jumătate fiu al pământului, jumătate atlant, el aparţine ambelor lumi. Erou pe Pământ şi apărător al adâncurilor, Arthur va trebui să îşi dezvăluie adevărata identitate, să îşi folosească puterile pentru a ajuta omenirea şi să îşi accepte statutul predestinat, acela de rege al Atlantidei. El trebuie să depășească toate obstacolele pentru a obține tridentul care îi oferă puteri.
Arthur trebuie să găsească un cod magic pentru a trece de poarta unde se află tridentul. Va întâlni în calea sa N obstacole, orice cod posibil magic este un număr natural pătrat perfect format prin adunarea a două numere prime consecutive ca poziţie în şirul strict crescător al numerelor prime, iar codul magic este cel de-al N-lea număr natural pătrat perfect din şirul strict crescător al codurilor posibil magice.
Cerință
Fiind dat numărul natural N (reprezentând numărul obstacolelor depăşite de Arthur), scrieți un algoritm în pseudocod care să determine cel de-al N-lea număr natural pătrat perfect din şirul strict crescător al codurilor posibil magice.

Date de intrare: numărul natural N, cu semnificaţia din enunţ.

Date de ieșire: un număr natural reprezentând codul magic găsit.

Restricții și precizări:
• 1 ≤ N ≤ 100; N număr natural
• fiecare cod posibil magic este mai mic decât 4 000 000

VA ROG EU E FOARTE IMPORTANT!!!


O Legendă Spune Că Întro Zi Un Nou Rege Se Va Ridica Pentru A Uni Lumea De La Suprafață Cu Cea Din Adâncuri Arthur Sa Antrenat Toată Viaţa Sa Antrenat Să Fie Ră class=

Răspuns :

Răspuns:

Algoritmul în pseudocod pentru determinarea celui de-al N-lea număr natural pătrat perfect din șirul strict crescător al codurilor posibil magice ar putea arăta astfel:

```

Funcție găsește_cod_magic(N):

Variabilă contor <- 0

Variabilă cod_magic <- 0

Variabilă număr <- 1

Cât timp contor < N:

Dacă este_pătrat_perfect(număr):

Variabilă rădăcină <- sqrt(număr)

Variabilă prim1 <- rădăcină - 1

Variabilă prim2 <- rădăcină + 1

Dacă este_prim(prim1) ȘI este_prim(prim2):

contor <- contor + 1

cod_magic <- număr

număr <- număr + 1

Returnează cod_magic

```

Explicație algoritm:

- Inițializăm un contor și un cod_magic la 0, și un număr la 1 pentru a parcurge șirul de numere.

- Iterăm prin toate numerele până când contorul devine egal cu N.

- Verificăm dacă numărul curent este un pătrat perfect.

- Dacă este un pătrat perfect, calculăm rădăcina pătrată și două numere prime consecutive care ar trebui să fie rădăcina minus 1 și rădăcina plus 1.

- Dacă ambele numere sunt prime, incrementăm contorul și actualizăm codul magic.

- Returnăm codul magic găsit.

Aceste instrucțiuni vor determina al N-lea număr natural pătrat perfect din șirul strict crescător al codurilor posibil magice.