Mia moglie è molto, diciamo, particolare quando si tratta di mettere ornamenti sul nostro albero di Natale. Prendiamo un po 'di codice per aiutarla in questo tempo di prova.
Ingresso
Dato un input 2 < n < 10
l'altezza dell'albero e0 < k < n
il numero distinto di ornamenti.
Compito
Decorare l'albero a partire da 1
e incrementare k
mentre avvolgiamo gli ornamenti attorno all'albero. Se raggiungiamo k
e abbiamo più rami da decorare, ricominciamo 1
.
Va bene se non c'è lo stesso numero di ogni ornamento sull'albero, purché il motivo sia soddisfatto.
Gli ornamenti dovrebbero apparire sopra ogni ramo ad ^
eccezione della riga superiore.
L'albero è strutturato iniziando con un ramo, quindi il livello successivo ha + 1 rami con uno spazio tra ciascuno, sfalsati dall'alto come:
^
^ ^
Per una terza riga, aggiungi un altro ramo e sfalsalo di nuovo in modo tale che nessun ramo si trovi sulla stessa colonna (se la pensi come una griglia).
^
^ ^
^ ^ ^
Produzione
Crea il tuo albero decorato.
Esempi
1.
n = 3, k = 2
^ //Height is 3
^ ^
^ ^ ^
Ora decoriamo ogni ramo a partire da 1 e incrementiamo a k:
^
1 2
^ ^
1 2 1
^ ^ ^
2.
n = 6, k = 5
^ //Non-Decorated
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ //Decorated
1 2
^ ^
3 4 5
^ ^ ^
1 2 3 4
^ ^ ^ ^
5 1 2 3 4
^ ^ ^ ^ ^
5 1 2 3 4 5
^ ^ ^ ^ ^ ^
3.
n = 5, k = 1
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^
1 1
^ ^
1 1 1
^ ^ ^
1 1 1 1
^ ^ ^ ^
1 1 1 1 1
^ ^ ^ ^ ^
Questo è code-golf quindi vince il codice più corto! Buon divertimento e buona fortuna!