#programowanie #zagadki #jezykc #c #zagadkiprogramistyczne

Lubicie zagadki programistyczne?

Napisać w C najkrótszy kod (jako funkcję lub makro), który zamieni nazwę miesiąca (po angielsku) na ilczbę. Czyli: "January" -> 1, "February" -> 2, "March" -> 3 itd.

Wynik w przypadku nieprawidłowych nazw miesięcy jest nieistotny.

Moje rozwiązanie ma postać:

#define MONTH(s) (XXXXXXX)
gdzie XXXXXXXX ma 38 znaków. Kto zrobi krócej?
@mateusza: jak będę miał czas to to ruszę, bo bardzo lubię tego typu zadanka, ale niestety cały dzień mam zajęty, więc będzie mnie #!$%@?ło, że nie mogę o tym pomyśleć xD
  • Odpowiedz
nie wystarczy zrobić foo statycznej? XD


@Nullek: Wystarczy :) Wygrałeś! :)
No ale w końcu kto może wiecej wiedzieć o nullach i NullPointerException niż ... @Nullek ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Kolejna zagadka, tym razem głupsza:
Mając poniższy kod i tylko poniższy kod, skompiluj go przy pomocy GCC (Clang nie zadziała), żeby po uruchomieniu wypisał na konsoli nazwę strony ze śmiesznymi obrazkami:

">
Warunek: nie można używać opcji -D, -I` i pokrewnych. Żadnych trików z makrami czy alternatywnym printf.
Pytania bonusowe, na które odpowiedzi nie znam:


#programowanie #jezykc #cpp #zagadkiprogramistyczne

(Użyłem spoilera, bo w kodzie jest grawis, a na Pastebina to trochę mało)
@zwei: @fizyk20: No tak, to nie było aż takie trudne.
Dodam, że próbowałem użyć opcji /source-charset:utf-8 /execution-charset:.037 z MSVC, ale dostałem tylko "W`,?p". Widocznie MSVC nie konwertuje wszystkich znaków.
Jutro może wymyślę mądrzejsze zagadki.
  • Odpowiedz
@paulinio: sprawa w gruncie rzeczy dość prosta i nawet niezbędna. Blok ensure/finally nie może zwracać wyniku, dlatego c# się nie skompiluje, a ruby ignoruje wartość zwracaną przez rescue. Stąd wartością zwracaną przez funkcję jest ostatnia wartość bloku przed rescue (a że jest to if, to wartością jest nil).

Dlaczego takie zachowanie jest niezbędne? Bo poniższy kod byby niejednoznaczny

def baz
if bar
1
else
2
end
ensure
3
end
Zakładając, że
  • Odpowiedz
@foke: Perfekcyjnie, za wyjątkiem niepełnych odpowiedzi na pytania pozakonkursowe.

setTimeout w IE nie obsługuje dodatkowych argumentów ponad funkcję + czas.

A, tak, kod jest odrobinę zaciemniony, ale takie uroki prototypowania po kilku piwach. :P

I zawsze zapominam o

.concat
  • Odpowiedz
Jako jedyny ugryzłem, więc nagroda i tak moja


@foke: Ha, bynajmniej, byłem wcześniej tylko poza Wykopem ( ͡° ͜ʖ ͡°) no ale w sumie nie z własnej inicjatywy, tylko @Ginden mnie spytał czy wiem o co tutaj chodzi, więc już tam miej :D
  • Odpowiedz
Trzy proste #zagadkiprogramistyczne:

Jaki jest wynik działania kodu? Odpowiedzi w spoilerach:

php<br/


echo
```**```
 
```**```
date
```**```
(
```_```
"M-d-Y"
```_```

```**```
mktime
```**```
(0, 0, 0, 12, 06, 2014));

?>

```!Nic trudnego: skrypt wypisze: Dec-06-2014```

php<br/

```**```
echo
```**```
 
```**```
strtotime
```**```
(
```_```
"december 06, 1965"
```_```
);

?>

```!strtotime() zwraca unix time, ale ten zaczął się 1 stycznia 1970 roku, więc w takim przypadku funkcja zwróci bool, a echo nic nie wypisze```
Dla wielbicieli vanilla.js.

Jak wstawić wiele elementów jednym

Element.appendChild
nie wywołując wielokrotnego redrawa?

Użyć

document.createDocumentFragment()
, normalnie użyć na tym appendChild i dopiero to wstawić do drzewa dokumentu.

#protip #vanillajs

I ciekawostka: jakiej nazwy właściwości (np.

window.z = {}; z['jakaś nazwa'] = 3
) nie pokaże nam inspektor Firefoxa (ale Firebuga i Chrome już tak)?

#javascript #zagadkiprogramistyczne
@Ginden: (#) W sumie to nigdy bym nawet nie pomyślał że nazwa własności może być pustym stringiem. Nie wiem dlaczego zawsze myslałem, że owszem może byc wowolny, ale jednak powinien być niepusty
  • Odpowiedz
We wpisie @asdasty pojawiło się przykładowe pytanie z rozmowy rekrutacyjnej z front-endowcem.

-Determine if a given string is a palindrome.


Proste, prawda?

No to chętnie poprosiłbym funkcję w JavaScript, która sprawdza, czy zadany string jest palindromem (8pkt.). Wytłumaczenie, dlaczego nie jest to trywialne, wraz z podaniem przykładowego kłopotliwego stringa, jest za 2 pkt.

#zagadkiprogramistyczne #javascript

Ranking:

- Marmite, 1pkt.
Dana jest tablica przedziałów:

array = [

[60, 95],

[15, 40],

[55, 62],

[92, 100],

[17, 30],

[2, 20]

]

Zawartość tej tablicy można zobrazować tak, jak na załączonym obrazku.

Zadaniem jest znalezieniem takie przedziału (bądź punktu) w którym ilość zadeklarowanych w tablicy przedziałów jest największa.

Dla podanego przykładu będzie to przedział [17, 20], ilość 3.

Chodzi mi o znalezienie jak najoptymalniejszego rozwiązania.

Narazie przychodzi mi do głowy jedynie najprostsze rozwiązanie: krokowe
m.....s - Dana jest tablica przedziałów:




``
array = [

[60, 95],

[15, 40],

[55,...

źródło: comment_TLJ2EPn6nbj8BGR0GiT02VvZUZJbZQ27.jpg

Pobierz