Tarefa
O prefpend, append-Sequence é definido recursivamente, como este
- a (1) = 1
- a (n) = a (n-1) .n, se n for par
- a (n) = na (n-1), se n for ímpar
onde o . representa uma concatenação inteira.
Portanto, os primeiros termos são: 1,12,312,3124,53124,531246,7531246,...
Este é A053064 .
Sua tarefa é, dado um inteiro a> 0 para retornar n , tais que o n º elemento na preceder, acrescentar-Sequence é igual a um e se existe tal n existe retorno 0, um número negativo ou erro fora etc.
Regras
- A entrada pode ser tomada como um número inteiro, sequência, lista de caracteres / dígitos, etc.
- A saída pode ser impressa em STDOUT ou retornada (número inteiro, sequência etc. está correto)
- Na entrada inválida e, no caso de não existir esse n, seu programa pode fazer qualquer coisa, exceto retornar um número inteiro positivo (por exemplo: loop para sempre, retornar 0 etc.)
- Você pode optar por usar a indexação 0, mas a saída, caso não exista n, não pode ser 0
Casos de teste
1 -> 1
12 -> 2
21 -> 0
123 -> 0
312 -> 3
213 -> 0
211917151311975312468101214161820 -> 21
2119171513119753102468101214161820 -> 0
333129272523211917151311975312468101214161820222426283031 -> 0
999795939189878583817977757371696765636159575553514947454341393735333129272523211917151311975312468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100 -> 100
a(n-1)*(int(log(n))+1)+n
en*(int(log(n))+1)+a(n-1)
?