Cześć,
Jestem nowym użytkownikiem na forum i mam do Was pytanie odnoście dwóch kodów.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
long long int n;
n>= 2 && n<=500000;
long long int p[10000000];
cin >> n;
for(int i=0; i<=n; i++)
{
p[i] = 1;
}
p[0] = 0;
p[1] = 0;
for(int i=2; i<=sqrt(n); i++)
{
if(p[i] == 1)
{
for(int j=i; j<=n; j++)
{
p[i*j] = 0;
}
}
}
for(int i=0; i<=n; i++)
{
if(p[i] == 1)
{
cout << i << " ";
}
}
return 0;
}
Ten program ma na celu wypisanie wszystkich liczb pierwszych z zakresu. Problem w tym, że jeżeli jako n podam nieco większą liczbę to program się zawiesza. Chciałbym go jeszcze przerobić. Jeżeli podam jakieś n i będzie ono liczbą pierwszą to wypisze nam, która to liczba pierwsza z kolei. Wiem, że mogę do tego użyć kolejnej tablicy, ale nie mam pojęcia jak to zrobić.
Mam jeszcze jeden program do napisania, ale nie wiem kompletnie jak go złożyć. Wiem, że do tego muszę wykorzystać wzór na koło. Po skompilowaniu na ekranie powinno ukazać się koło.
Z góry dzięki za pomoc!