垃圾佬与赛文斯取石子

TimeLimit:7000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

垃圾佬和seventh正在玩取石子游戏。

他们的游戏规则如下:

桌上有n个石子,垃圾佬先取,seventh后取。由于他们对质数很感兴趣,所以每次必须取质数个石子。如果某一时刻某一方无法取出质数个石子,那么他就输了。

垃圾佬和seventh都很聪明,不管哪方存在一个可以必胜的最优策略,他们都会按照最优策略保证胜利。

垃圾佬想知道,对于给定的桌面上的石子数n,他究竟能不能取得胜利呢?

垃圾佬还想知道,当他确定自己会取得胜利时,不管seventh采用什么策略,他都至少能在多少步后取得胜利。(注意:垃圾佬取一次或者seventh取一次都应算做一步)

Input

第一行有一个整数T,表示有T组测试数据。

接来下有T行,每行一个整数n,表示桌面上的石子数。(T<=10,0<=n<=20000)

Output

输出T行

如果该种情形下,垃圾佬能取得胜利,输出他都至少能在多少步后取得胜利。否则输出 -1。


SampleInput
3
8
9
16
SampleOutput
1
-1
3
样例说明:
8个石子:垃圾佬取走7个石子,则桌面上剩下1个石子,即垃圾佬能在一步之后保证游戏胜利,所以输出 1。
9个石子:若垃圾佬取走2个,seventh会取走 7 个,剩下 0 个,垃圾佬输;若垃圾佬取走 3 个,seventh会取走 5 个,剩下 1 个,垃圾佬还是输。取走 5 个或者 7 个的情况同理可知。所以当桌上有9个石子时,不管垃圾佬怎么取,seventh都可以让垃圾佬输,输出 -1。
16个石子:垃圾佬可以保证在3步以内取得胜利。可以证明,为了在 3 步内取得胜利,垃圾佬第一步必须取7个石子。剩下9个石子之后,不管第二步seventh怎么取,垃圾佬取了第三步以后可以保证胜利,所以输出 3。
Submit
题目统计信息详细
总AC数9
通过人数9
尝试人数14
总提交量31
AC率29.03%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签
作者

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: