任务
prepend,append-Sequence像这样递归定义
- a(1)= 1
- 如果n是偶数,则a(n)= a(n-1).n
- 如果n为奇数,则a(n)= na(n-1)
哪里。表示整数串联。
因此,前几个术语是:1,12,312,3124,53124,531246,7531246,...
这是A053064。
您的任务是,给定a> 0的整数以返回n,以使prenend,append-Sequence中的第n个元素等于a,如果不存在n则返回0,负数或错误输出等。
规则
- 输入可以作为整数,字符串,字符/数字列表等。
- 输出可以打印到STDOUT或返回(整数,字符串等都可以)
- 在输入无效的情况下,如果不存在这样的n,则您的程序可以执行任何操作,但返回正整数(例如,永远循环,返回0等)。
- 您可以选择使用0索引,但是如果不存在n,则输出不能为0
测试用例
1 -> 1
12 -> 2
21 -> 0
123 -> 0
312 -> 3
213 -> 0
211917151311975312468101214161820 -> 21
2119171513119753102468101214161820 -> 0
333129272523211917151311975312468101214161820222426283031 -> 0
999795939189878583817977757371696765636159575553514947454341393735333129272523211917151311975312468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100 -> 100
@ Mr.Xcoder我称其不太正式:P
—
发布Rock Garf Hunter,
@JonathanAllan问题已经存在约10分钟了。
—
Xcoder先生17年
我建议允许输入无效的错误。
—
Kritixi Lithos
我建议为无效输入允许未定义的行为。
—
Xcoder先生17年
a(n-1)*(int(log(n))+1)+n
和n*(int(log(n))+1)+a(n-1)
?