Biorąc pod uwagę amplitudę i okres fali, wydrukuj falę. Zobacz przykładowe wyniki, aby uzyskać więcej informacji. Całkowita liczba form fali równa się okresowi, a wysokość każdej fali równa się amplitudzie. Amplituda i okres są mniejsze niż 10. Możesz zignorować spacje końcowe, ale nie spacje wiodące.
Sample Input
3 2
Sample Output
3 3
232 232
12321 12321 12321 12321
232 232
3 3
ascii-art
etykietą. Ale część artystyczna nie jest całkiem obecna, może powinien być inny tag dla grafiki ascii?Odpowiedzi:
Dyalog APL,
4340 bajtów{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)(n,1-n←2×⍵)↑↑b⍴¨⍕¨b←a,1↓⌽a←⍳⍵}
{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}
( Dzięki, Moris Zucca )Jest to funkcja dynamiczna z amplitudą jako prawym argumentem (
⍵
) i kropką jako lewym argumentem (⍺
). Program odczytujący dane wprowadzone przez użytkownika wymagałby takiej samej liczby znaków.Czerpiąc inspirację z odpowiedzi CJam Martina Büttnera :
źródło
(n,1-n←2×⍵)
don(1-n←2×⍵)
.Python - 135 znaków
Ta wersja z wiodącą spacją ma 132 znaki
Może być również znacznie krótszy, jeśli nie jest wymagany odczyt ze standardowego wejścia lub nawet jeśli dane wejściowe są oddzielone przecinkami
W przypadku wprowadzania oddzielanego przecinkami pierwszy wiersz staje się
źródło
APL (77)
źródło
J, 87 znaków
Jako program:
działa w ten sposób:
Jest 5 dodatkowych znaków, jeśli potrzebujemy go jako funkcji F:
źródło
Haskell (
226225222220214)Moja próba w Haskell:
Przepraszam chłopaki,
(€)
jest zoptymalizowany, zajmuje trzy bajty za jeden €, w przeciwieństwie do! który zajmuje tylko jeden bajt.Oto „wersja beta”, która nie spełnia specyfikacji:
źródło
CJam, 45 bajtów
CJam jest znacznie młodszy od tego wyzwania, więc ta odpowiedź nie kwalifikuje się do zielonego znacznika wyboru (który powinien być zaktualizowany do odpowiedzi APL marinusa). To było jednak wciąż fajne ćwiczenie.
Sprawdź to tutaj.
Chodzi o to, aby wygenerować pół kropki w pionie , tak jak:
(Plus następny pusty wiersz, który połyka SE). To jest następnie duplikowane, każdy wiersz jest odwracany, a druga połowa okresu jest dołączana. Następnie cała rzecz jest powtarzana przez liczbę okresów, a ostatecznie siatka jest transponowana, aby zorientować falę wzdłuż linii poziomej.
źródło