Il triangolo di Pascal viene generato iniziando con 1e facendo formare ogni riga da aggiunte successive. Qui, invece, formeremo un triangolo alternando moltiplicazione e addizione.
Iniziamo a remare 1solo con un solitario 1. Successivamente, l'addizione viene eseguita sulle righe dispari e la moltiplicazione viene eseguita sulle righe pari (1 indicizzata). Quando si esegue la fase di aggiunta, assumere che gli spazi esterni al triangolo siano riempiti con 0s. Quando si esegue la fase di moltiplicazione, supporre che l'esterno sia pieno di 1s.
Ecco il triangolo completo fino a 7 righe. La *o +a sinistra mostra quale passaggio è stato eseguito per generare quella riga.
1 1
2 * 1 1
3 + 1 2 1
4 * 1 2 2 1
5 + 1 3 4 3 1
6 * 1 3 12 12 3 1
7 + 1 4 15 24 15 4 1
Sfida
Dato input n, genera la nriga th di questo triangolo.
Regole
- Puoi invece scegliere 0-index, ma tieni presente che le righe di addizione e moltiplicazione devono essere flip-flop, in modo che lo stesso triangolo esatto sia generato come sopra. Si prega di indicare nella richiesta se si sceglie di farlo.
- Si può presumere che l'input e l'output si adattino al tipo intero nativo della tua lingua.
- L'input e l'output possono essere forniti in qualsiasi formato conveniente .
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Se possibile, includi un collegamento a un ambiente di test online in modo che altre persone possano provare il tuo codice!
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
Esempi
Mostra due possibili esempi di output di molti: un elenco o una stringa separata da spazio.
4
[1, 2, 2, 1]
8
"1 4 60 360 360 60 4 1"
nterza fila.