https://codeforces.com/problemset/problem/1370/C
题目:两个进行游戏,给定一个数字n,可以进行两种操作:
1、n 除以一个奇数,n可以除尽该奇数,而且该奇数需要大于1
2、n减去1,n需要大于1
如果谁不能再进行任何操作了,则对方获胜。
思路:
如果n可以除尽2的次数大于1次且最后的n大于2,那么代表该n含有一个以上奇数因子,A只要除以这些奇数因子的乘积就可以得到一个2的num次方数,这种数只能进行减1操作,而减1之后,A再进行一次除以自身的操作,就可以获胜,
如果n不能除以2,那么A只要进行一次除以自身的操作就可以获胜
如果n可以除尽2的次数等于1次,剩余的n如果含有的所有奇数因子的乘积大于等于9,那么就代表A可以对此进行一次除以这些奇数因子而剩余一个3因子的操作,那么无论B进行除以3,还是进行减1的操作,A都是赢。
for _ in range(int(input())):
n = int(input())
num = 0
while n % 2 == 0:
n //= 2
num += 1
if num == 1:
ans = n > 1
for j in range(3, int(n**.5)+1, 2):
if n % j < 1:
ans = 0;break
print('Ashishgup' if not ans else 'FastestFinger')
else:
print('FastestFinger' if n<2 else 'Ashishgup')