Pierwszy kandydat

2008-02-20 | by muczachan |

Bardzo defensywny i ze wszystkiego się tłumaczy. Przede wszystkim z tego, że perla ostatni raz ruszał na studiach (6 lat temu, jak wynika z CV) i trochę mu się może mieszać. Na rozgrzewkę dostaje FizzBuzza. Czyli mały programik do napisania.

Wypisz liczby od 1 do 100, w osobnych liniach. Zamiast liczb podzielnych przez 3 wypisz “Fizz”, zamiast liczb podzielnych przez 5 wypisz “Buzz” a zamiast liczb podzielnych przez 15 wypisz “FizzBuzz”.

Ma pokazać, czy jest po co z kandydatem dalej rozmawiać. Pozwoliłem pisać w metakodzie, jeśli w perlu się czuje tak sobie. Oto wynik, przepisany z wielką dbałością o szczegóły:

declare liczby[100]
for liczby[i=1, i+1, 100]
{
  liczby[i]=i
  if (liczby[i]) mod 3 =
      then x="Fizz"
      pritn(x)
    if (liczby[i] mod 5 = ?
      then y="Buzz"
      print(y)
    if (liczby[i]) mod 15
      then printf(x;y)

Niestety nie wolno mi przerwać rozmowy. Więc przez następne 40 minut porozmawialiśmy sobie o jego doświadczeniach, celach, dokonanych wyborach, osiągnięciach i innych tematach zastępczych.

  1. 3 Responses to “Pierwszy kandydat”

  2. By saddie on 2008-02-21 | Reply

    Boli.
    *idzie napisać fizzbuzza*

  3. By Jubal on 2008-02-21 | Reply

    Ano boli. (Z takim samym efektem u mnie; wcześniej mi się nie chciało :->)

  4. By Tener on 2008-11-02 | Reply

    W Haskellu, lepsze od pseudokodu:
    fb = mapM_ putStrLn . map fizzbuzz $ [1..100] where
    fizzbuzz x | x `mod` 15 == 0 = “fizzbuzz”
    | x `mod` 5 == 0 = “buzz”
    | x `mod` 3 == 0 = “fizz”
    | otherwise = show x

Post a Comment