Brakuje Ci gotówki, więc postanowiłeś zbudować pączki dla The Donut Shop ™, największej na świecie cyfrowej firmy oferującej pączki, głównie dlatego, że sprzedają pączki każdej wielkości, jakie można sobie wyobrazić.
Teraz, biorąc pod uwagę, że obecnie standardy handlu są bardzo trudne, musisz napisać jak najkrótszy kawałek kodu, aby utworzyć te pączki, aby kod źródłowy, który je utworzył, mógł zostać umieszczony na zewnątrz pakietu.
Wyzwanie
Biorąc pod uwagę 4 dane wejściowe, promień pierścienia zewnętrznego, promień pierścienia wewnętrznego, możliwe posypki i szansę, że komórka będzie miała posypkę, wyjmij pączka pokrytego w tych posypkach, które mają prawidłowe promienie wewnętrzne i zewnętrzne.
- Dane wejściowe można pobierać według własnego uznania (argumenty funkcji, standardowe, argumenty programu) i w dowolnej kolejności.
- Kropienia będą podawane w postaci 1 znaku na każdy rodzaj kropienia
^+*-jako wejście posypać byłaby lista 4 posypki,^,+,*,-- Szansa posypać zostaną wprowadzone jako wartości zmiennoprzecinkowej pomiędzy 0 a 1. np:
0.1,0.23
- Musisz wydrukować dane wyjściowe na standardowe lub równoważne.
- Krople nie mogą znajdować się na krawędziach pączka.
- Każdy rodzaj posypki musi mieć jednakową szansę znalezienia się w każdej komórce.
- Promienie podano w jednostkach jednokomórkowych.
- Jeśli promień wewnętrzny jest równy 0 LUB promień zewnętrzny, mówi się, że pączek nie ma pierścienia.
- Oba promienie będą liczbami całkowitymi nieujemnymi.
- Wewnętrzne i zewnętrzne krawędzie pączka muszą być reprezentowane za pomocą skrótów (
#) Test sprawdzający, czy punkt znajduje się na okręgu, biorąc pod uwagę promień, a środkiem koła jest:
(x-center)**2+(y-center)**2 < radius**2
Przykładowe wejście z wyjściem
(promień zewnętrzny, promień wewnętrzny, kropi, szansa na kropienie)
10, 4, „^ + * -”, 0,1
######### # # ## ++ * *## # # # ^^ - * # # ##### ^ # #+ # # # # # #- # # # # * # # # #+ # # # # # #^ +# # # # # # # # * ##### # # + - # # ^ # ## ^ + ## # ^ # #########5, 2, „: ^ + *”, 0,9
##### #^^+ ^# #**### # #:# #^# #^# #*# #:# #*# #:+###* # # *:^:# #####
To jest kod golfowy, wygrywa najkrótsza odpowiedź w bajtach
10, 4i 5, 2są zupełnie inne. Zamierzałem zostawić komentarz do odpowiedzi, ale zdałem sobie sprawę, że tak naprawdę nie rozumiałem, jak powinien wyglądać wynik dla dowolnych wymiarów oprócz tych z przykładów. Jeśli chcesz zmienić swój pierwotny pomysł, dopasowując go do odpowiedzi z odpowiedzi, to zależy od ciebie, ale wyzwanie powinno jasno określać, jak narysować granice w obu kierunkach.