świstak.codes
O programowaniu, informatyce i matematyce przystępnym językiem

javascript

Proste sposoby na znajdowanie liczb pierwszych
Obrazek: Mike Beauregard from Nunavut, Canada, CC BY 2.0, via Wikimedia Commons
Tekst napisany przez człowieka.

Ostatnio opisałem, czym są liczby pierwsze, a także pokazałem prosty, niemal 800-letni algorytm do ich testowania. Jednak nie kończmy na tym tematu. O liczbach pierwszych można mówić dużo, dlatego kontynuujmy. Tym razem pokażę, jakie mamy najprostsze sposoby na znajdowanie liczb pierwszych.

Czytaj więcej
Liczby pierwsze i proste sposoby na ich sprawdzanie
Zdjęcie: Zina Deretsky, National Science Foundation (Courtesy: National Science Foundation, Public domain, via Wikimedia Commons)
Tekst napisany przez człowieka.

Liczby pierwsze to jeden z ważniejszych terminów w matematyce, do tego mający dość istotne zastosowanie praktyczne. Na samym początku przygody z tym tematem przedstawmy sobie teorię, a także najprostsze testy pierwszości.

Czytaj więcej
Obliczanie całek oznaczonych
Grafika węża pochodzi ze strony publicdomainvectors
Tekst napisany przez człowieka.

Tytuł brzmi strasznie, wiem. W końcu całki to już ten rejon matematyki, w który wielu nie chciało nigdy wchodzić. A w tym artykule nie dość, że opowiem, czym są całki, do tego oznaczone, to jeszcze pokażę sposoby na ich obliczanie. Co więcej, sposoby programistyczne! Ale tak całkowicie serio, to wbrew pozorom jest to bardzo prosty temat, za którym może nie stoi najprostsza matematyka, ale na pewno bardzo proste algorytmy. Tym samym stanowi to świetny początek do rozeznania rejonu algorytmiki, jakim są metody numeryczne.

Czytaj więcej
Kryptarytmy
Grafika własnego autorstwa, z wykorzystaniem czcionki OpenMoji
Tekst napisany przez człowieka.

Kryptarytmy to bardzo przyjemna kategoria łamigłówek matematycznych, gdzie mając działanie zapisane literami, musimy znaleźć cyfry odpowiadające każdej z nich. W tym artykule chcę pokazać, jak do rozwiązywania zagadek tego typu można podejść algorytmicznie. Przy okazji od strony algorytmicznej poznamy mały wycinek kombinatoryki.

Czytaj więcej
Wieże Hanoi
Zdjęcie własnego autorstwa.
Tekst napisany przez człowieka.

Wieże Hanoi to dla większości ludzi na świecie prosta, drewniana zabawka dla dzieci. Natomiast dla studentów informatyki to nie raz jedno z najgorszych wspomnień z pierwszych lat studiów i nauki programowania. Jak to możliwe? Co jest w nich takiego strasznego? Przekonajmy się na własną rękę.

Czytaj więcej
Algorytmika gier — kółko i krzyżyk
Ilustracja to kolaż obrazków wygenerowanych przez sieć neuronową VQGAN+CLIP po zadaniu jej różnych kombinacji haseł „animals” oraz „tic-tac-toe”. Źródło obrazka na froncie: https://commons.wikimedia.org/wiki/File:Tic_tac_toe.svg
Tekst napisany przez człowieka.

Poprzednio w serii algorytmika gier pochyliłem się nad grą w sapera, gdzie przeanalizowaliśmy, jak generuje się planszę oraz prowadzi rozgrywkę. Teraz spróbujmy przenieść na komputer jedną z najpopularniejszych gier rozgrywanych na kartce — kółko i krzyżyk. Jednak tym razem nie skupimy się na zaprogramowaniu całej rozgrywki, a tylko na jednej rzeczy: sztucznej inteligencji komputerowego gracza.

Czytaj więcej
Dziwny przypadek reszty z dzielenia
Zdjęcie pochodzi z serwisu Max Pixel, udostępnione w domenie publicznej
Tekst napisany przez człowieka.

Gdy we wczesnych latach podstawówki uczyliśmy się dzielenia (szczególnie „pod kreską”), w pewnym momencie dowiadywaliśmy się, że nie da się liczb idealnie podzielić. Czasami zostaje reszta. W końcu gdy dzielimy 6 na 4, to w szóstce zmieścimy tylko jedną czwórkę, ale to nie oznacza, że 6 dzielone przez 4 to po prostu 1. Mamy jeszcze 2 reszty, ewentualnie co dokładniejsi podaliby wynik 1,5. Jak się okazuje, obliczenie reszty z dzielenia, mimo że wydaje się czymś prostym i oczywistym... no cóż, zawsze coś musi się komplikować. Dlatego też przeanalizujmy tę operację: rozłóżmy ją na czynniki pierwsze i zobaczmy, co może tutaj pójść inaczej, i dlaczego, mimo różnych wyników, wciąż wszystko jest poprawnie.

Czytaj więcej
Określanie dnia tygodnia dla dowolnej daty
Zdjęcie pochodzi z serwisu Flickr; autor Dunk, opublikowane na licencji CC BY 2.0
Tekst napisany przez człowieka.

Po wielokrotnym poruszaniu tematu na blogu, że wszelkie rzeczy związane z datami powinno się zostawić specjalistycznym bibliotekom i nie robić ich na własną rękę, nadszedł czas, aby coś w tym temacie jednak pokazać. Spośród wielu rzeczy, jakie możemy obliczać z dat, stwierdziłem, że najciekawsze jest określenie dnia tygodnia. Opiszę tutaj kilka sposobów, jak możemy to zrobić — nie tylko w kodzie, ale też matematycznie oraz w formie zagadki logicznej.

Czytaj więcej