Sa se scrie un program care:
-determina cel mai mare numar prim mai mic decat numarul dat
-determina toate numerele prime mai mici decat numarul dat
(c/c++)
Răspunsuri la întrebare
#include <iostream>
using namespace std;
short v[20001];
void ciur()
{
int i, j, n=20000;
v[0]=1; v[1]=1;
for(i=2;i<=n/2;++i)
if(v[i]==0)
for(j=i+i;j<=n;j+=i)
v[j]=1;
}
int main()
{
ciur();
int n, i, prim, gasit=0;
cin >> n;
for (i=n; i>1; --i)
{
if (v[i]==0)
{
gasit=1;
prim=i;
break;
}
}
if (gasit)
cout << "a) cel mai mare numar prim mai mic decat " << n << " este " << prim << "\n";
else cout << "a) nu exista numar prim mai mic decat " << "\n";
if (gasit)
{
cout << "b) numerele prime mai mici decat "<<n<<" sunt: " << "\n";
for (i=2; i<=n; ++i)
if (v[i]==0) cout << i << " ";
}
else cout << "b) nu exista numere prime mai mici decat " << n<< "\n";
return 0;
}