• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ - Dyzio - ile liczb pierwszych w przedziale

VPS Starter Arubacloud
0 głosów
953 wizyt
pytanie zadane 11 sierpnia 2017 w C i C++ przez jankowa1ski Gaduła (3,560 p.)

Cześć spoj zwraca mi błąd a ja nie mam pojecia o co chodzi. Tu jest zadanie

A tu kod:

#include <iostream>
 
using namespace std;
 
int ile[1000001];
 
int main()
{
	bool l[1000001];
	
	for (int i = 0;i < 1000001;i++)
	{
		l[i] = true;
		ile[i] = 0;
	}
	int t, p, k, s;
	l[0] = false;
	l[1] = false;
	s = 0;
	cin >> t;
	for (int i = 2;i < 50000;i++) //sito eras.
	{
		if (l[i] == true)
		{
			for (int j = i * 2;j <= 1000000;j += i)
			{
				l[j] = false;
			}
		}
	}
	for (int j = 1;j <= 1000000;j++)//dla ile[j] przypisuje ile liczb pierwszych jest w przedziale 0 do j
	{
		if (l[j] == 1) s++;
		ile[j] = s;
	}
	for (int i = 0;i < t;i++)
	{
	cin >> p >> k;
 
	cout << ile[k]-ile[p] << endl;
	}
	return 0;
}

Dzieki za każdą odpowiedź

komentarz 11 sierpnia 2017 przez adrian17 Ekspert (349,420 p.)

Cześć spoj zwraca mi błąd a ja nie mam pojecia o co chodzi

Próbowałeś w ogóle uruchomić ten kod na przykładowym wejściu?

komentarz 12 sierpnia 2017 przez jankowa1ski Gaduła (3,560 p.)
Tak
komentarz 12 sierpnia 2017 przez jankowa1ski Gaduła (3,560 p.)
zwracał dobre wyniki dlatego miałem problem z znalezieniem bledu
komentarz 12 sierpnia 2017 przez adrian17 Ekspert (349,420 p.)
O którym z tych dwóch mówisz?

http://pl.spoj.com/problems/DYZIO/

http://pl.spoj.com/problems/DYZIO2/

Patrząc po kodzie, wygląda na to że DYZIO2.
komentarz 13 sierpnia 2017 przez jankowa1ski Gaduła (3,560 p.)
Mowiłem o DYZIO ale już problem został rozwiązany jn.

1 odpowiedź

+1 głos
odpowiedź 11 sierpnia 2017 przez d0n Mądrala (6,440 p.)
wybrane 12 sierpnia 2017 przez jankowa1ski
 
Najlepsza

...dwie liczby a i b (2<=a<=b<=106), oddzielone pojedynczą spacją, oznaczające odpowiednio początek i koniec przedziału domkniętego,

Czyli liczymy liczby pierwsze od a do b włącznie, w linijce 40 wypisujesz ilosc liczb pierwszych od b do a + 1 włącznie. 

komentarz 12 sierpnia 2017 przez jankowa1ski Gaduła (3,560 p.)
:) WIelkie dzięki. Poprawnie zwracał dla przykladowych testów i zupełnie tego nie zauważyłem.

Podobne pytania

0 głosów
1 odpowiedź 2,418 wizyt
+1 głos
1 odpowiedź 392 wizyt
+1 głos
1 odpowiedź 188 wizyt

93,008 zapytań

141,975 odpowiedzi

321,256 komentarzy

62,350 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...