Wpis z mikrobloga

[Day 2 part 2]
Nie rozumiem jakie liczby mają być w tym inpucie? Jak te domyślne to tam jest przecież wartość 119 największa więc nawet po dokonaniu mnożenia *100 i dodanie jakiejś drugiej największej wartości nie wyjdzie wynik 19690720
#adventofcode
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@passage: Kolego ja też w Javie tylko bez Scripta ( ͡° ͜ʖ ͡°)

No dobra a ten input[0] jest wynikiem działanie noun * 100 + verb zgadza się?

Jeżeli tak to nie widzę żeby przez takie działanie uzyskać tak wysoki wynik z jakichkolwiek dwóch liczb z tego zbioru wejściowego.

Wiem, że coś źle rozumiem ale nie wiem co :)
  • Odpowiedz
@Sceptycznie: Hej. Czasami te zadania są dziwnie opisane i ja sam mam problem ze zrozumieniem treści mimo, że całkiem dobrze znam angielski i też miałem problem ze zrozumieniem tego zadania.

W pierwszej części masz tą listę instrukcji i musisz zamienić 1 pozycję na coś tam i drugą pozycję na inną liczbę, w moim przypadku na 1 pozycji miała być 12, na drugiej 2. Potem puszczasz i wychodzi Ci jakaś kosmiczna liczba,
  • Odpowiedz
@yggdrasil: @Sceptycznie: podsumowując trzeba zrobić to samo co w części 1, ale zamiast 12 i 2, podstawić noun i verb, gdzie noun i verb jest w zakresie 0 - 99. Czyli najprościej dwie pętle :)

@yggdrasil: nie input[0] = noun, input[1] = verb
a

input[1] = noun, input[2] = verb
  • Odpowiedz
@yggdrasil: ale to brudnopis do prototypowania rozwiązania, oczywiście, że można to ładnie zrobić funkcyjnie, ale tu chodzi o sam algorytm a nie o produkcyjne rozwiązanie.
Poza tym: co ma rekurencja do programowania funkcyjnego?
Poza tym 2: rekurencja dla dużych wartości noun i verb to kiepskie rozwiązanie (stosu Ci nie wystarczy)
  • Odpowiedz
@yggdrasil:
Aha czyli ten wynik w drugiej części 19690720 to jest tak jak w pierwszej ostatnia zmieniona wartość zanim program napotka 99 i zakończy działanie. Teraz jestem w trasie ale w domu spróbuję tak zrobić to by miało sens faktycznie :)
  • Odpowiedz
@Sceptycznie: Powinieneś dostać wynik, jeżeli nie to albo Ty masz błąd albo błąd jest w zadaniu (już się tak zdarzało). Jak ja umieram i nie wiem jak zrobić to sobie kradnę rozwiązanie i sprawdzam czy działa. :)

Sprawdzasz czy wartość na zerowej pozycji jest taka jak wynik który masz otrzymać.

@passage: Przecież to był żart z mojej strony. Zresztą ja programuje w języku, który nie posiada pętli, więc
  • Odpowiedz
@yggdrasil: a skąd ja mogę wiedzieć, że żartujesz? ( ͡° ͜ʖ ͡°)

Powinieneś dostać wynik, jeżeli nie to albo Ty masz błąd albo błąd jest w zadaniu (już się tak zdarzało).


przecież podałem rozwiązanie w pierwszej odpowiedzi, które działa, napisane w 3minuty.
To bardzo proste zadanko, wystarczy przeczytać treść ze zrozumieniem i wyciągnąć wnioski z tego postu, bo odpowiedź dawno padła.
  • Odpowiedz
@passage: @yggdrasil:

Udało mi się i faktycznie wydaje się mi teraz to banalne :D

Zapomniałem sklonować listę tak żeby pracować za każdą iteracją pętli na wejściowym zbiorze. Zamiast tego za każdym razem zbiór był modyfikowany z
  • Odpowiedz
@passage:

Poza tym: co ma rekurencja do programowania funkcyjnego?

Kojarzy Pan Panie Ferdku pojęcie pure function ?

Poza tym 2: rekurencja dla dużych wartości noun i verb to kiepskie rozwiązanie (stosu Ci nie wystarczy)

A Tail Recursion Pan kojarzy?
  • Odpowiedz