Zliczanie liczb pierwszych

Zliczanie liczb pierwszych
PA
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:83
0

Cześć,

mam zadanie gdzie muszę wypisać ile liczb pierwszych jest w danym przedziale, napisałem kod, który pokazuje te liczby ale nie wiem jak je zliczyć :-(
Dane wejściowe: 6
Dane wyjściowe: 2 3 5 a ma być: 3

Kopiuj

#include <bits/stdc++.h>
using namespace std;
long long int sito[1000005];
int main ()
{
    int n;
	cin>>n;
	for (int i=2; i*i<=n; i++)
	{
		if (sito[i]==0)
		{
			for (int j=i*i; j<=n; j+=i)
		{
			sito[j]=1;
		}
	}

	}
	for (int i=2; i<=n; i++)
	{
		if (sito[i]==0)
		{
			cout<<i<<"\n";
		}
	}
}

vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1
edytowany 1x, ostatnio: vpiotr
Maria Ulitzka
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 2 lata
  • Postów:11
0

Utwórz zmiennę, zainicjalizuj ją zerem i inkrementuj ją w pętli zamiast cout.

D1
  • Rejestracja:około 6 lat
  • Ostatnio:około 6 lat
  • Postów:14
0
Kopiuj
#include <bits/stdc++.h>
using namespace std;
long long int sito[1000005];
int main ()
{
	int licznik=0;
    int n;
    cin>>n;
    for (int i=2; i*i<=n; i++)
    {
        if (sito[i]==0)
        {
            for (int j=i*i; j<=n; j+=i)
        {
            sito[j]=1;
        }
    }

    }
    for (int i=2; i<=n; i++)
    {
        if (sito[i]==0)
        {
            cout<<i<<"\n";
            licznik++;
        }
    }
    cout<<"liczb jest"<<licznik;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.