InstruçÔes

Gerador/exponencial

Um gerador Ă© uma entidade executĂĄvel (como uma função ou procedimento) que contĂ©m um cĂłdigo que retorna uma sequĂȘncia de valores, um de cada vez, para que a cada vez que vocĂȘ chame o gerador, o prĂłximo valor na sequĂȘncia seja fornecido. Os geradores muitas vezes sĂŁo criados a partir de co-rotinas ou objetos para que o estado interno do objeto seja tratado "naturalmente". Os geradores sĂŁo, frequentemente, usados em situaçÔes onde uma sequĂȘncia Ă© potencialmente infinita, e onde Ă© possĂ­vel construir o valor seguinte da sequĂȘncia apenas com o estado mĂ­nimo.

O que fazer:

Escreva uma função que use geradores para gerar quadrados e cubos. Crie um novo gerador que filtre todos os cubos do gerador de quadrados. A função deve retornar o enĂ©simo \\( n^{th} \\) valor do gerador filtrado. Por exemplo, para \\(n=7\\), a função deve retornar 81, jĂĄ que a sequĂȘncia seria 4, 9, 16, 25, 36, 49, 81. Aqui, 64 Ă© removido da sequĂȘncia por ser um cubo.

Critérios de Aceitação:

Testes:

  • `exponentialGenerator` deve ser uma função.
  • `exponentialGenerator()` deve retornar um nĂșmero.
  • `exponentialGenerator(10)` deve retornar `144`.
  • `exponentialGenerator(12)` deve retornar `196`.
  • `exponentialGenerator(14)` deve retornar `256`.
  • `exponentialGenerator(20)` deve retornar `484`.
  • `exponentialGenerator(25)` deve retornar `784`.

Console