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

Salut!Am intampinat o problema pe pbinfo pe care n-o pot rezolva,ma poate ajuta cineva?
Se numeste PrimeInterval si este numarul #44.

Va multumesc anticipat.

Răspunsuri la întrebare

Răspuns de Relampago
2
#include <iostream>
#include <math.h>
using namespace std;
int n,i,d,ok,a,b,aux;
int main()
{
    //citim capetele inchise,a si b si apoi,pentru ca ne spune
    //ca nu e obligatoriu ca a<=b,trebuie sa interschimbam
    //pe a cu b in cazul in care a e mai mare ca b,folosind
    //regula paharelor;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    if(a>b)
    {
        aux=a;
        a=b;
        b=aux;
    }
    //cu un for care pleaca de la a inclusiv pana la b
    //vom face algoritmul de numar prim;
    for(i=a; i<=b; i++)
    {
        //presupunem ca avem numere prime,astfel initializam
        //variabila ok cu 1;daca i e 1 sau 0 presupunerea pica
        //pt ca 1 si 0 nu sunt prime;
        //altfel,cu un for care pleaca de la 2 pana la radical din i
        //pentru ca e mai rapid pana in radical decat daca ai face
        //pana la jumatate;
        ok=1;
        if(i==1||i==0)ok=0;
        else
            for(d=2; d<=sqrt(i); d++)
                if(i%d==0)ok=0;
        //daca ok=1; crestem n-ul,care reprezinta nr de elemente prime
        if(ok==1)
            n++;
    }
    cout<<endl<<n;
}

Alte întrebări interesante