单点时限: 2.0 sec
内存限制: 256 MB
考虑如下自然数序列:
1 2 3 4 5 6 7 8 9 10 11 12 ...
隔一个数划去一个数,形成如下序列:
1 3 5 7 9 11 13 15 17 ...
再隔两个数划去一个数,形成新的序列:
1 3 7 9 13 15 19 21 ...
再隔三个数划去一个数,形成新的序列:
1 3 7 13 15 19 25 27 ...
这个过程无限地进行下去。无限次地进行后,依然未被划去的数被称为 坚挺数
。
编写程序:判断一个给定的整数,是否是坚挺数。
第 $1$ 行:一个整数 $T$ ($1 \le T \le 10$) 为问题数。
接下来共 $T$ 行整数,每行输入一个正整数 $N (1≤N≤10000)$。
对于每个问题,输出一行问题的编号($0$ 开始编号,格式:case #0:
等)。
然后对应每个问题在一行中输出整数 $N$ 是否为坚挺数(Yes
或者 No
)。若为 Yes
,则输出该整数在所有坚挺数中的位次(按从小到大的顺序排列)。注意:中间要输出一个空格。
3 19 148 4783
case #0: Yes 5 case #1: No case #2: Yes 78