Informatică, întrebare adresată de sdramona9, 9 ani în urmă

Fişierul numere.in conține, pe prima linie, un număr natural n (2 Se consideră subprogramul sub care primește prin intermediul parametrului x un număr natural și returnează valoarea 1 dacă x este un număr prim și 0 în caz contrar.
Cerinţe:
a) Scrieţi definiţia completă a subprogramului sub;
b) Scrieţi un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citește numărul n apoi determină și afișează primele n numere prime și le afișează, separate prin câte un spațiu, pe ecran
Exemplu. Dacă fişierul numere.in are conţinutul alăturat, programul va afişa pe ecran:

2 3 5 7 11

5


radugiulia: Ce numere contine fisierul ? Banuiesc ca 5 reprezinta n-ul citit, iar 2 3 5 7 11 primele n (5) numere prime din fisier. Deci ce contine fisierul ?
sdramona9: Da. 5 este n-ul, iar restul sunt primele 5 numere prime
radugiulia: Programul trebuie sa afiseze primele n numere prime din fisier, nu ?
sdramona9: Da
radugiulia: ok

Răspunsuri la întrebare

Răspuns de radugiulia
1
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("numere.in");

int sub(int x)

    if(x<2 || x>2 && x%2==0)
                 return 0;
    else
        for(int d=3;d*d<=x;d+=2)
               if(x%d==0)
                    return 0;
    return 1;
}

int main()
{
    int x,n,nr=0;
    f>>n;
    while(f>>x && nr!=n)
          if(sub(x)==1)
          {
                cout<<x<<" ";
                nr++;
           }
   return 0;
}

sdramona9: Nu afiseaza nimic :(
radugiulia: Ai creat fisierul numere.in ?
Alte întrebări interesante