Aktywne Wpisy

denazyfikacja +163
#z-------------j #l-------------j
źródło: image_picker_BE669346-2A9D-408E-95DF-5F925A3384CF-77716-000009F589942C5B
Pobierz
Naza_Dzikowski +161
Treść przeznaczona dla osób powyżej 18 roku życia...





Halp mirki. Problem raczej matematyczny, ale program jest istotny. #matura here, takie zadanko:
Niech n będzie dodatnią liczbą całkowitą i niech a 1 , a 2 , ..., a n będzie ciągiem nieujemnychliczb całkowitych. Dla pary liczb i, j takich, że 1 ≤ ≤ ≤ , blokiem b(i,j) nazywamy
podciąg kolejnych elementów ciągu a z pozycji od i do j, czyli a i , a i+1 , ..., a j . Długością
bloku nazywamy liczbę jego elementów. O bloku, którego suma elementów jest podzielna
przez 3 mówimy, że jest blokiem trójkowym.
Przykład:
W ciągu 0,0,2,3,2,1,2 najdłuższym blokiem trójkowym jest b(4,6) = 3,2,1.
W plikach tekstowych bloki1.txt, bloki2.txt i bloki3.txt zapisano ciągi
odpowiednio 1000, 30000 i 1000000 nieujemnych liczb całkowitych mniejszych od 10 000.
W każdym pliku liczby zapisano w kolejnych wierszach, po jednej liczbie w każdym wierszu.
Dla każdego pliku z danymi wyznacz długość najdłuższego bloku trójkowego w ciągu
zapisanym w tym pliku.
bla bla. Napisałem taki program:
https://gist.github.com/ebc3784070df275fb772
Program przelicza to prawidłowo, z ładną złożonością n. Myli się jedynie o tę jednynkę w 29 linii (mam odpowiedzi, raczej prawidłowe). I teraz pytanie
dlaczego ta jedynka jest zła?
-
plik.close();jest zbędne - pliki zamykają się same kiedy kończy się życie zmiennej; nie mam pojęcia skąd się ten idiotyzm bierze w dużej liczbie kursów cpp- na maturze nie trzeba w ogóle obsługiwać plików - można tylko przekierować sobie strumienie
- indeksowanie od 1 jest dziwne i na dłuższą metę na pewno przysporzy sporo problemów, szczególnie kiedy mieszamy je ze standardowym numerowaniem od 0
-
źródło: comment_YHuwBeGygL7EOvsIEov92LBTq51uasmX.jpg
Pobierz