Cerința
Se citesc două numere naturale a
și b
(a < b
) având cel mult 9
cifre fiecare. Afișați câte numere din intervalul [a, b]
au exact 3
divizori.
Date de intrare
Programul citește de la tastatură numerele a
și b
, separate printr-un spațiu.
Date de ieșire
Programul va afișa pe ecran numărul de numere din intervalul [a,b]
care au exact 3
divizori.
Restricții și precizări
1 ≤ a < b < 1.000.000.000
Exemplu
Intrare
11 50
Ieșire
2
Explicație
Numerele din intervalul [11,50]
care au exact 3
divizori sunt 25
și 49
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Divizori3:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n=0,a,b;
cin>>a>>b;
int x=sqrt(a),y=sqrt(b);
if(sqrt(a)!=floor(sqrt(a))) x++;
for(int i=x;i<=y;i++)
{
int p=1;
if(i==0 || i==1) p=0;
else if(i%2==0 && i>2) p=0;
else for(int d=3;d*d<=i;d=d+2)
if(i%d==0) p=0;
if(p) n++;
}
cout<<n;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2547 Divizori3
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2547 Divizori3 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!