Cosa dovrei usare come seme casuale in un Brainfuck?

1

A quanto ho capito, la maggior parte degli algoritmi pseudo-casuali funzionano prendendo uno o più long casuali, come data, ora, indirizzo MAC, numero di serie, ecc., passandoli attraverso una serie complessa di calcoli e restituendo il risultato.

Tuttavia, questo non è possibile in Brainf * ck. La lingua ha solo 8 caratteri di sintassi validi, ma non ti disturberò con una descrizione completa, che può essere trovata qui . L'essenziale è che non ci sono funzioni per accedere all'ora del sistema o qualsiasi altro numero che possa essere considerato come un seme. Non riesco a pensare a dove ottenere buoni semi da mettere in funzione. Qualcuno ha qualche suggerimento?

Grazie in anticipo.

Nota: sentiti libero di modificare queste domande in modo che si applichino a più lingue; Non riesco a mettere il dito sulla parola giusta da usare.

    
posta FracturedRetina 28.04.2014 - 00:44
fonte

2 risposte

8

L'unica funzione di input disponibile per un programma Brainf * ck è quella di leggere dallo standard input. Se il tuo programma non ha bisogno di input da parte dell'utente, puoi collegare stdin a un dispositivo casuale e leggere byte casuali da quello. Ad esempio:

bf program </dev/urandom
    
risposta data 28.04.2014 - 01:15
fonte
0

Un generatore di numeri psuedo-random sembra essere casuale. È inteso essere non correlato con altri processi, ad es. puoi usarlo per generare dati di test casuali e poi, se necessario, correggere un bug e riprodurre il test.

Puoi costruire un generatore di numeri casuali da un generatore di numeri psuedo-casuali seminandolo con dati esterni. Sembra che farlo in Brainfuck richiede la lettura di caratteri tramite l'operatore , .

    
risposta data 28.04.2014 - 01:20
fonte

Leggi altre domande sui tag