witam, mam problem z tym o to zadaniem
udało mi się uzyskać odpowiedzi do pod punktu A oraz B. Jednak z C i D jest problem. Spróbowałem zrobić na liczbach z przedziału, który jest w podpunkcie C, chociaż na 100 % trzeba zmienić coś w tym kodzie, bo za samą zmianę przedziału punktów by nie dawali. Mimo wszystko spróbowałem, trochę na wynik czekałem, ale i tak wyszedł inny niż w kluczu.
Potrzebuje jakiejkolwiek wskazówki, bo nie mam pojęcia co dalej
#include <iostream>
int main ()
{
using namespace std;
int licznik=0;
for (int naturalna=21; naturalna<=1000; naturalna++)
{
if (naturalna%3==1)
{
bool prawda = true;
for (int dzielnik=naturalna-1; dzielnik>1; dzielnik--)
{
if (naturalna%dzielnik==0)
{
if(dzielnik%3==1)
prawda = false;
}
}
if(prawda)
licznik++;
}
}
cout<<licznik;
}
A to odpowiedzi:
Za poprawną zawartość pliku zadanie4.txt zawierającego:
• liczbę liczb pierwszych w przedziale [1, 20] – 1 punkt
ODP: 5
liczbę liczb pierwszych w przedziale [21, 1000]– 2 punkty
ODP: 168
• liczbę liczb pierwszych w przedziale [1001, 1000000]– 4 punkty
ODP: 1797
• liczbę liczb pierwszych w przedziale [1000001, 10000000]
– 5 punktów
ODP: 862344