Coding dojo

750 views
705 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
750
On SlideShare
0
From Embeds
0
Number of Embeds
557
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Coding dojo

  1. 1. ELŐADÓK:Nagy Gergely (@algernoone)Magyar Attila (@athoshun)Coding dojoBalaBit IT Security
  2. 2. Egy LISP program vége))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  3. 3. Egy Java program vége}}}}}}}}}}}}
  4. 4. ● Írjon olyan programot, ami felsorolja azegész számokat 1-100-ig úgy, hogy:● a 3 többszörösei helyett azt írja ki, hogy "Fizz"● az 5 többszörösei helyett azt írja ki, hogy "Buzz"● a 3 és az 5 többszörösei helyett azt írja ki, hogy"FizzBuzz"FizzBuzz
  5. 5. ● Írjon olyan programot, ami felsorolja azegész számokat 1-100-ig úgy, hogy:● a 3 többszörösei helyett azt írja ki, hogy "Fizz"● az 5 többszörösei helyett azt írja ki, hogy "Buzz"● a 3 és az 5 többszörösei helyett azt írja ki, hogy"FizzBuzz"FizzBuzz1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11,Fizz, 13, 14, FizzBuzz, 16, 17, Fizz, 19, Buzz,Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29,FizzBuzz, ...
  6. 6. Naiv megoldásint i;for (i = 1; i != 101; ++i) {if (i % 3 == 0) {printf("Fizz");}if (i % 5 == 0) {printf("Buzz");}if (i % 3 != 0 && i % 5 != 0) {printf("%d", i);}printf("n");}
  7. 7. ● 7 többszöröseinél "Beep"● 3 és 7 → "FizzBeep"● 5 és 7 → "BuzzBeep"● 3, 5 és 7 → "FizzBuzzBeep"Változó világban élünk
  8. 8. Naiv megoldásint i;for (i = 1; i != 101; ++i) {if (i % 3 == 0) {printf("Fizz");}if (i % 5 == 0) {printf("Buzz");}if (i % 7 == 0) {printf("Beep");}if (i % 3 != 0 && i % 5 != 0 && i % 7 != 0) {printf("%d", i);}printf("n");}
  9. 9. ● ha szerepel a 3-as számjegy, akkor is"Fizz"● 5-ös számjegy → "Buzz"● 7-es számjegy → "Beep"Változó világban élünk
  10. 10. Naiv megoldásint i, is_fizz, is_buzz, is_beep; char buf[16];for (i = 1; i != 101; ++i) {snprintf(buf, sizeof(buf), "%d", i);if (is_fizz = (i % 3 == 0 || strchr(buf, 3))) {printf("Fizz");}if (is_buzz = (i % 5 == 0 || strchr(buf, 5))) {printf("Buzz");}if (is_beep = (i % 7 == 0 || strchr(buf, 7))) {printf("Beep");}if (!is_fizz && !is_buzz && !is_beep) {printf("%d", i);}printf("n");}
  11. 11. @staticmethoddef fizzbuzz(min, max):translators = [ DivisorBasedTranslator(3, "Fizz"),DivisorBasedTranslator(5, "Buzz"),DefaultTranslator() ]return (FizzBuzz(CompositeTranslator(translators)).generate(min, max))(defn fizzbuzz [min max](fizzbuzz* min max[(partial translate:by-divisor 3 "Fizz")(partial translate:by-divisor 5 "Buzz")]))
  12. 12. class FizzBuzz(object):def __init__(self, translator):self.translator = translatordef generate(self, min, max):sequence = []for i in range(min, max + 1):sequence.append(self.translator.translate(i, ""))return ", ".join(sequence)(defn fizzbuzz* [min max translations](->> (range min (inc max))(map (partial translate translations))(interpose ", ")(s/join)))
  13. 13. class DivisorBasedTranslator(NumberTranslator):def __init__(self, divisor, translation):self.divisor = divisorself.translation = translationdef translate(self, number, partially_translated):if number % self.divisor == 0:return self.translationreturn ""(defn translate:by-divisor [divisor replacement n](when (zero? (rem n divisor)) replacement))
  14. 14. Its not the tool – its the artist
  15. 15. ELŐADÓK:Nagy Gergely (@algernoone)Magyar Attila (@athoshun)Köszönjük a figyelmet!BalaBit IT Security

×