Immagina di generare i numeri di Fibonacci usando l'ovvio algoritmo a forza bruta. Se conosco il numero di Fibonaccis voglio generare in anticipo, posso fare qualcosa di simile utilizzando la congiunzione potere ^:
:Esiste un idioma J per l'aggiunta a un elenco fino a quando non viene soddisfatta una determinata condizione?
(, [: +/ _2&{.)^:20 i.2
Come posso invece fermarsi quando le Fibonaccis raggiungere un qualche limite, diciamo 1e6
? (So come farlo all'interno di una funzione usando while.
, ma non è divertente.)
Voglio sottolineare che questa è una domanda generale su J, non una domanda specifica su Fibonacci. Non farti distrarre dai numeri di Fibonacci. Il cuore della domanda è come continuare ad aggiungersi a una lista finché non viene soddisfatta una condizione.
Ero consapevole di come usare la congiunzione di potenza con un verbo e con '_', ma l'idea di combinarli insieme non mi era venuta in mente. –