Hej, mam dla was zadanie ( ͡° ͜ʖ ͡°) Napisałem taki artykuł jak kiedyś wygrałem coding challenge pisząc bardzo pokręcony walidator kodów pocztowych w JS. Chodziło mi przy tym o to by kod nie używał wyrażeń regularnych, ale miał jak najmniejszą liczbę znaków (tzw. code golf). No i tu jest zadanie dla ambitnych: mi udało się zmieścić w 86 znakach i jestem ciekawy czy ktoś z was będzie
elektryk91 - Hej, mam dla was zadanie ( ͡° ͜ʖ ͡°) Napisałem taki artykuł jak kiedyś w...

źródło: comment_GthrSsSFIx61asrUpkMT22DdLr6fBx5G.jpg

Pobierz
@unvector: nie umiem odpowiedzieć Ci na pytanie.
Za to wiem, że życiowo najlepszym rozwiązaniem (tam, gdzie od czasu robienia obliczeń zależy kasa / życie itp) to wiedzą matematyczną z zakresu matematyki dyskretnej/konkretnej taki ciąg rekurencyjny powinien być zmieniony w ciąg w postaci jawnej.
Tutaj poprosili wprost o postać rekurencyjną, bo ćwiczenie dotyczy innej umiejętności :-)
  • Odpowiedz
result = F(1, 0, n)
return F(1, 0, n)

Co ja #!$%@?łem w refaktoryzacji xd. Zrobiłem teraz z tego jedną funkcję, zoptymalizowałem krok dla nieparzystych (można od razu podzielić przez 2 i uniknąć ifa + przypisania) i nareszczie przechodzi :)
  • Odpowiedz
@maniexx: @k0lasz:
miałem jednak chwilkę poprawiać jeszcze i:
dla wersji łatwej:
108/5/97 - tylko posortowanie plików w folderze w subfoldery;
145/6/131 - stworzenie subfolderów i skopiowanie tam plików:
analogicznie dla wersji 'trudnej' (duplikaty oprócz najpóźniej zmodyfikowanych w
  • Odpowiedz
Krótka zagadka, co robi następująca funkcja? Polecam zastanowić się bez otwierania REPLa.

Wersja pythonowa:

foo = lambda n: re.match(r"^(11+)\1+$", '1' * n) is None
Wersja javowa: