Per un numero intero nche soddisfa n > 0, scrivi il suo valore come un percorso discendente a destra in base alla sua rappresentazione binaria.
Regole
- Il primo bit (più significativo) impostato è sempre nell'angolo in alto a sinistra.
- Quando viene impostato il bit successivo (a
1), disegna un carattere ("riempito") sulla riga successiva nella stessa colonna del carattere precedente disegnato. Prova a usare gli spazi ("vuoti") per riempire, ma qualsiasi personaggio lo farà purché sia sempre lo stesso. - Quando il bit successivo non è impostato (a
0), disegna un carattere ("riempito") sulla stessa linea immediatamente a destra del carattere precedente disegnato. - Il tuo codice deve supportare numeri con almeno 20 bit significativi.
- Scrivi un programma completo, una funzione, una lambda, ecc., Ma senza frammenti.
- Non sono ammessi spazi iniziali (o caratteri "vuoti") / linee
- Qualsiasi numero di spazi finali (o carattere "vuoto") / righe consentiti
- È accettato qualsiasi tipo di input 1D: numero, stringa, matrice di valori booleani, ecc. Tuttavia, l'ordine dei bit rimane invariato.
- È accettato qualsiasi tipo di output 2D visivo: su stdout, una stringa (con due valori distinti che rappresentano "riempito" e "vuoto"), puoi anche generare una matrice se vuoi. Un elenco di numeri sembra difficile da conciliare con la regola "nessuno spazio di intestazione", ma sono aperto ad esso se trovi un modo per usarlo. Nota: se si sceglie di stampare o restituire una stringa, i caratteri utilizzati devono essere caratteri ASCII nell'intervallo dei punti di codice [32-126].
- Le scappatoie standard sono vietate.
- Questo è codegolf, quindi vince il codice più corto.
Esempi
Ingresso: 1
*
Ingresso: 2
**
Ingresso: 3
*
*
Ingresso: 4
***
Ingresso: 5
**
*
Ingresso: 6
*
**
Ingresso: 7
*
*
*
Ingresso: 25
*
***
*
Ingresso: 699050
**
**
**
**
**
**
**
**
**
**
Ingresso: 1047552
*
*
*
*
*
*
*
*
*
***********
Ingresso: 525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1], sì.
9è 1001Vorrei che il mio ingresso di essere 0011. È ok?
1primo fa parte della sfida e (ri) spostare quel bit sarebbe banalizzare la sfida, quindi temo che dovrò dirti di no, @TonHospel. Puoi rimuoverlo dai tuoi input nel programma, comunque.



