Wprowadzenie
Coś, z czym bawiłem się w matematyce rekreacyjnej, to konstrukcja tabeli dzielników do wizualnego porównywania / kontrastowania głównych dzielników zbioru liczb. Zestaw liczb wejściowych znajduje się u góry jako etykiety kolumn, główne dzielniki znajdują się po lewej stronie jako etykiety wierszy, a znak wskazuje, gdzie dwa wiersze w górę.
Na przykład w celu wprowadzenia zostanie 6, 9, 14, 22
zbudowana tabela podobna do poniższej:
6 9 14 22
2 * * *
3 * *
7 *
11 *
Jest tak, ponieważ 6
ma główne dzielniki 2
i 3
, 9
ma główne dzielniki 3
i tak dalej.
Budowa
- Tabela jest skonstruowana w taki sposób, że liczby wejściowe tworzą etykiety kolumn oddzielone spacjami i w porządku rosnącym (można założyć, że są wstępnie posortowane), a główne dzielniki są wymienione po lewej stronie w porządku rosnącym, po jednym w wierszu tworzącym wiersz etykiety.
- Zauważ, że początkowe spacje na głównych dzielnikach i liczbach wejściowych mogą być wymagane, jeśli liczby mają różne długości, tak aby wszystkie kolumny miały tę samą szerokość i odpowiednio się wyrównały.
- Każdy dzielnik jest reprezentowany przez jedną
*
(lub inną odpowiednią postać ASCII, którą wybierzesz, o ile ten sam znak jest używany we wszystkich wystąpieniach). - Wiele dzielników jest ignorowanych (np.
3 x 3 = 9
Ale jest tylko jeden*
dla tego skrzyżowania). *
Może być umieszczony w dowolnym miejscu w kolumnie poziomej, tak długo, jak jest to jednoznaczne (mam wszystkie moje przykłady Europejska*
wyrównany do prawej).
Wkład
- Lista liczb całkowitych dodatnich w dowolnym, wygodnym formacie , każdy
>1
. - Możesz założyć, że dane wejściowe są wstępnie posortowane.
- Gwarantujemy, że dane wejściowe mają tylko unikalne wartości.
Wydajność
Wynikowa reprezentacja ASCII w formie tabeli pierwszego dzielnika.
Zasady
- Wiodące lub końcowe znaki nowej linii lub białe znaki są opcjonalne, o ile same znaki są odpowiednio ustawione w linii.
- Jeśli krótsza jest linia podziału oddzielająca nagłówki kolumn / wierszy od danych tabelarycznych, jest to również dozwolone.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby ludzie mogli wypróbować Twój kod!
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Przykłady
6,9,14,22
6 9 14 22
2 * * *
3 * *
7 *
11 *
2,3,5,7
2 3 5 7
2 *
3 *
5 *
7 *
2,4,8,16,32
2 4 8 16 32
2 * * * * *
75,99,151,153
75 99 151 153
3 * * *
5 *
11 *
17 *
151 *