Cod Python si C++ pentru a genera al N-lea numar prim. N introdus de la tastatura
Las mai jos codul care afiseaza al N-lea numar prim, unde N este introdus de la tastatura. Incep cu codul Python dupa care va voi lasa si codul scris in C++ care rezolva aceasi problema.
Rezolvarea in Python:
def este_prim(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def al_nlea_prim(n):
contor_prime = 0
candidat = 2
while contor_prime < n:
if este_prim(candidat):
contor_prime += 1
candidat += 1
return candidat - 1
N = int(input("Introduceți valoarea lui N: "))
print("Al", N, "-lea număr prim este", al_nlea_prim(N))
În acest cod, funcția este_prim este folosită pentru a determina dacă un număr este prim sau nu. Funcția al_nlea_prim folosește funcția este_prim pentru a genera al n-lea număr prim prin numărarea numerelor prime găsite și returnarea numărului candidat atunci când s-a găsit numărul dorit de prime. Utilizatorului i se cere să introducă valoarea lui N, iar codul afișează al n-lea număr prim.
Rezolvarea in C++:
#include <iostream>
#include <cmath>
using namespace std;
bool este_prim(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int al_nlea_prim(int n) {
int contor_prime = 0;
int candidat = 2;
while (contor_prime < n) {
if (este_prim(candidat)) {
contor_prime++;
}
candidat++;
}
return candidat - 1;
}
int main() {
int N;
cout << "Introduceți valoarea lui N: ";
cin >> N;
cout << "Al " << N << "-lea număr prim este " << al_nlea_prim(N) << endl;
return 0;
}
În acest cod, funcția este_prim este folosită pentru a determina dacă un număr este prim sau nu. Funcția al_nlea_prim folosește funcția este_prim pentru a genera al n-lea număr prim prin numărarea numerelor prime găsite și returnarea numărului candidat atunci când s-a găsit numărul dorit de prime. Utilizatorului i se cere să introducă valoarea lui N prin intermediul cin, iar codul afișează al n-lea număr prim prin intermediul cout.
Nu uita: Învață, exersează, repetă!
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a



Comentarii recente