Cerinţa
Să se scrie un program care citește două numere naturale a și b și determină câte numere prime sunt în intervalul închis determinat de a și b.
Date de intrare
Programul citește de la tastatură numerele a și b.
Date de ieşire
Programul afișează pe ecran numărul n, reprezentând numărul de numere prime din intervalul închis determinat de a și b.
Restricţii şi precizări
0< a,b <100000
numerele citite nu respectă obligatoriu relația a ≤ b
un număr natural este prim dacă are exact doi divizori distincți: 1 și el însuși.
Exemplu
Intrare
10 20
Ieșire
4
Explicație
în intervalul [10,20] sunt 4 numere prime: 11, 13, 17, 19.
Răspunsuri la întrebare
Răspuns de
3
solutia 1) - fara functii
#include <bits/stdc++.h>
using namespace std;
int n, i, x, j, a, b, k;
bool prim;
int main()
{
cin >> a >> b;
if(a > b) swap(a, b);
for (i = a; i <= b; i ++)
{
x = i;
prim = true;
if(x == 0 || x == 1) prim = false;
for (j = 2; j * j <= x; j++)
if (x % j == 0)
{
prim = false;
break;
}
if (prim)
k ++;
}
cout << k;
return 0;
}
solutia 2 ) - cu functie
#include <bits/stdc++.h>
using namespace std;
int n, i, a, b, k;
bool prim(int nr)
{
for (int j = 2; j * j <= nr; j++)
if (x % j == 0) return false;
return true;
}
int main()
{
cin >> a >> b;
if(a > b) swap(a, b);
for (i = a; i <= b; i ++)
if (prim(i)) k ++;
cout << k;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n, i, x, j, a, b, k;
bool prim;
int main()
{
cin >> a >> b;
if(a > b) swap(a, b);
for (i = a; i <= b; i ++)
{
x = i;
prim = true;
if(x == 0 || x == 1) prim = false;
for (j = 2; j * j <= x; j++)
if (x % j == 0)
{
prim = false;
break;
}
if (prim)
k ++;
}
cout << k;
return 0;
}
solutia 2 ) - cu functie
#include <bits/stdc++.h>
using namespace std;
int n, i, a, b, k;
bool prim(int nr)
{
for (int j = 2; j * j <= nr; j++)
if (x % j == 0) return false;
return true;
}
int main()
{
cin >> a >> b;
if(a > b) swap(a, b);
for (i = a; i <= b; i ++)
if (prim(i)) k ++;
cout << k;
return 0;
}
Alte întrebări interesante
Religie,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă