Ilość określonych liczb

Użytkowanie arkusza kalkulacyjnego
gmpwxc
Posty: 3
Rejestracja: pt sty 21, 2022 9:27 pm

Ilość określonych liczb

Post autor: gmpwxc »

Z góry informuję, że jestem tu nowy więc przepraszam, jeżeli tworze wątek, który jest już rozwiązany. Z góry także dziękuję za pomoc. Zatem. Mam zbiór pierwszego tysiąca liczb pierwszych, czyli 2,3,5,7.. aż do 7919. Jednocześnie mam zbiór wielkości gapów pomiędzy kolejno następującymi po sobie liczbami pierwszymi, czyli coś w tym stylu: 2 (1) 3 (2) 5 (2) 7 (4) 11... i tak dalej. Gapy między liczbami pierwszymi są parzyste (nie licząc gapu nr 1 pomiędzy liczbami 2, a 3). Największy gap wynosi 34 i taki gap jest tylko jeden w tym zbiorze, ale mniejsze gapy są częstsze i podliczenie ich ręcznie jest udręką. Moje pytanie brzmi... jakim schematem mogę na szybko określić ile jest gapów dwójkowych, czwórkowych, szóstkowych i tak dalej w tym zbiorze? Plik poniżej. Jeszcze raz z góry dzięki.
Załączniki
Bez tytułu 1.ods
(26.68 KiB) Pobrany 67 razy
OpenOffice 3.1
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Ilość określonych liczb

Post autor: Jan_J »

Wygeneruj ciąg różnic w osobnej kolumnie i zrób jego systematykę.

Jeśli interesują Cię tylko krotności pojedynczych, znanych z góry wartości, to wystarczy funkcja zliczania warunkowego (countif, czyli licz.jeżeli) wywołana kilkukrotnie. Ale jeśli zamierzasz przeanalizować cały szereg rozdzielczy (czyli krotności wszystkich wartości) takiego ciągu, to w arkuszu najsprawniej zrobisz to przez posortowanie i zliczenie w podgrupach, ew. przez tabelę przestawną.

Jeśli chodzi o „poważne” rozważenie tego samego problemu w szerszej skali, to trzeba uważać. Liczby pierwsze są liczbami całkowitymi, a arkusz dysponuje narzędziami arytmetycznymi tylko dla danych double, nie integer. Wobec tego, jeśli zamierzasz zajmować się liczbami, których zapis dziesiętny wykracza ponad 16 cyfr, arkusz nie będzie się do tego nadawał. Nie zgłosi błędu, ale poda fałszywe wyniki, a nawet uniemożliwi dokładne przechowanie danych wejściowych.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
gmpwxc
Posty: 3
Rejestracja: pt sty 21, 2022 9:27 pm

Re: Ilość określonych liczb

Post autor: gmpwxc »

Ja może powinienem zaznaczyć także, że jestem totalnym dnem, jeżeli chodzi o Open Office i w zasadzie Twoja odpowiedź, jakkolwiek zapewne pomocna, jest dla mnie zrozumiała tak samo, jak fizyka kwantowa. Po prostu potrzebuję wiedzieć ile wynosi liczba określonych liczb w danym zbiorze.
OpenOffice 3.1
Awatar użytkownika
Jermor
Posty: 2238
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Ilość określonych liczb

Post autor: Jermor »

Zrobiłem to za ciebie w Arkuszu2.
Twojej tablicy z danymi nadałem nazwę "liczby", następnie, jak napisał @Jan_J, utworzyłem wektor złożony z samych, jak to nazwałeś, gap. Te dane przeniosłem z twojej tabeli przy pomocy formuły.
Utworzyłem drugi wektor złożony z możliwych gap. Napisałeś, że są to liczby parzyste nie większe niż 34 oraz liczba 1.
Dla tych danych wykorzystałem funkcję CZĘSTOŚC() [FREQUENCY()] (jest to funkcja macierzowa), która podaje, ile liczb znajduje się w poszczególnych przedziałach.
Załączniki
gmpwxc.ods
(31.12 KiB) Pobrany 84 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
gmpwxc
Posty: 3
Rejestracja: pt sty 21, 2022 9:27 pm

Re: Ilość określonych liczb

Post autor: gmpwxc »

Jermor, gdybym znał Twój adres to bym Ci wysłał Jogobelle 500g, no ale niestety mogę jedynie podziękować tu i teraz za poświęcony czas. Pozdro.
OpenOffice 3.1
Awatar użytkownika
Jermor
Posty: 2238
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Ilość określonych liczb

Post autor: Jermor »

Cieszę się, że pomogłem.
Aż nagle tknęło mnie, że niepotrzebnie skomplikowałem sobie sprawę, tworząc przy pomocy formuły wektor liczb.
W twojej tablicy znajdowały się już potrzebne liczby.
Wielu użytkowników o tym nie wie, niektórzy o tym zapomnieli, ale w Calc-u istnieje możliwość podania argumentu funkcji jako konkatenacji wielu rozłącznych obszarów. Operatorem łączenia obszarów jest znak "~" (tylda). Jeśli mamy liczby w obszarach B1:B10 oraz w C3:H3, to funkcję sumującą można zapisać z jednej strony tak: SUMA(B1:B10;C3:H3) i wówczas funkcja zawiera dwa argumenty, z drugiej strony tak: SUMA(B1:B10~C3:H3), w tym przypadku funkcja zawiera jeden argument.
Nie we wszystkich funkcjach, w których argumentem jest obszar, można podawać go jako konkatenacja obszarów. Funkcje statystyczne, jak wspomniana SUMA(), ŚREDNIA(), MAKS() czy MIN() akceptują taki zapis. Także takie funkcje jak LICZ.JEŻELI(), ILE.NIEPUSTYCH(), POŁĄCZ.TEKSTY() no i przydatna w tym temacie funkcja CZĘSTOŚĆ() pozwalają na takie podanie argumentu. Można zatem, zamiast tworzyć pomocniczy wektor liczb wykorzystać już wyznaczone liczby, tworząc formułę:

Kod: Zaznacz cały

=CZĘSTOŚĆ(C2:C51~E2:E51~G2:G51~I2:I51~K2:K51~M2:M51~O2:O51~Q2:Q51~S2:S51~U2:U51~W2:W51~Y2:Y51~AA2:AA51~AC2:AC51~AE2:AE51~AG2:AG51~AI2:AI51~AK2:AK51~AM2:AM51~AO2:AO50;AQ2:AQ19)
Powyższe odwołuje się danych znajdujących się w przesłanym przez @gmpwxc przykładzie i wykorzystuje zakres przedziałów zapisany w obszarze AQ2:AQ19.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ