背景
当我上小学时,我们以前在数学课上玩游戏,内容如下。
所有的孩子围成一个大圈,从1开始轮流计数。
但是,在计数时必须跳过以下数字:
- 是3的倍数的数字。
- 十进制表示形式为3的数字。
孩子们应该说的前15个数字是
1 2 4 5 7 8 10 11 14 16 17 19 20 22 25
每当有人输入错误的数字(说出顺序不正确的数字或跳过出现的数字)时,他就会从圈子中删除。这一直持续到只剩下一个孩子为止。
任务
您在这场比赛中表现不佳,因此决定作弊。编写一个给定序列号的程序或函数,以计算序列的下一个数。
您不必处理无法使用您的语言的本机数字类型表示的数字,只要您的程序在输入251之前可以正常工作,并且您的算法可以在任意大的输入下使用。
输入和输出可以使用任何方便的基础。
由于您必须隐藏代码,因此代码必须尽可能短。实际上,这是code-golf,因此以字节为单位的最短代码获胜。
测试用例
1 -> 2
2 -> 4
11 -> 14
22 -> 25
29 -> 40
251 -> 254
7
当我演奏它时,总是会被跳过,但是您会说些别的话,而不是去排队的下一个数字。