#2547
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.
pt 80 puncte pe pbinfo va rog
dau coroana
Răspunsuri la întrebare
Răspuns de
0
Salut!
Ai rezolvarea in C++ mai jos
#include <iostream>
using namespace std;
int main() {
int a, b, cnt = 0;
cin >> a >> b;
for (int i = 2; i * i <= b; ++i) {
if (i * i <= b && i * i >= a) {
bool prim = true;
for (int j = 2; j * j <= i && prim; ++j) {
if (i % j == 0) {
prim = false;
}
}
if (prim) {
cnt++;
}
}
}
cout << cnt;
return 0;
}
Explicatie:
- Un nr are exact 3 divizori cand este patratul unui numar prim
Alte întrebări interesante
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă