Wpis z mikrobloga

Na reddicie trwa gorąca dyskusja na temat 5 prostych zadań, które każdy programista powinien zrobić w przeciągu godziny.
Zachęcam do zerknięcia, bo pewnie pojawią się na nie jednej rozmowie kwalifikacyjnej i przede wszystkim do samodzielnego zrobienia.
Z dyskusji wynika, że brute force jest dozwolony tylko w ostatnim.
Powodzenia! ( ͡° ͜ʖ ͡°)
#programowanie #naukaprogramowania
  • 23
@Cyril: Naprawdę zaskoczyłoby mnie, gdyby ktoś dał radę dostać się do pracy nie potrafiąc wyprodukować algorytmów, które pozwalają na rozwiązanie tych problemów.
@SwordPL: Wiele osób przyznaje się, że są w branży wiele lat i nie są w stanie zrobić dwóch ostatnich, a czasem nawet trzeciego i twierdzą, że to do niczego niepotrzebne. Jeśli uważasz, że są one trywialne, to powinieneś je zrobić. Zauważyłem, że większość umieszczonych rozwiązań czwartego zadania jest błędna.
@taximan: W czwartym dla danych [67,665,66,667,666,63,6] zwraca "6766566667666636" a powinno być [67,667,66,666,6,665,63] - i nie chodzi o sposób zapisu, tylko kolejność.
Właśnie dlatego Was zachęcałem do spróbowania swoich sił w tych "łatwych" zadaniach.
@Cyril: Moje genialne rozwiązanie 5: jest 10 cyfr, więc 9 znaków między nimi. Załóżmy że 1 to +, 0 to -, jeżeli wygenerujemy wszystkie liczby od 0b000000000 do 0b111111111 to będziemy mieli wszystkie możliwości. And voila ;)
@Cyril: Ow, nie mogę edytować a jestem ślepy i nie zauważyłem, że or nothing between, to ta sama metoda, ale dla systemu trójkowego.

@nvll Oho, ale wiedz, że to taki trochę w sumie bruteforce (choć nie piszesz go z palca, no ale używasz permutacji), choć fakt, ciekawe rozwiązanie :D
@taximan: Mam takie pytanko (jestem bardzo początkujący), jak zapisać setną liczbę ciągu fibonacciego, jeśli nie mieści się ona w zmiennej (np w C# najwieksza liczba to ~ 10^19, a setna ciągu to ponad 10 ^20)?
@jigsaw96: nie ma czegoś takiego jak C#owe liczby, jak piszesz int wyrazFib = getFib(100); to int jest twoim typem danych, tylko sie tak sklada ze ma on 32 bity wiec mozesz zapisac tylko 2^32 roznych liczb. Rozwiazaniem jest wiec zastosowanie wiekszego typu danych, jakiego to ci konkretnie nie powiem bo nie korzystam z c# ale na szybko znazalem, https://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v=vs.110).aspx W javascripscie sprawa jest tyle prosta ze kod sie kompiluje w locie