深圳3d网站建设,广告制作公司需要哪些设备,无锡找做网站公司,wordpress页面图片轮播图Submission #244500083 - Codeforces
题目#xff1a; 思路#xff1a;
此题要从奇偶性上入手。#xff08;注意除的是奇因数#xff0c;即一个奇数。我想成质数了#xff09;
1.当A选手开局是1时#xff0c;A败。
2.当A选手开局是2和奇数时#xff0c;A必胜。…Submission #244500083 - Codeforces
题目 思路
此题要从奇偶性上入手。注意除的是奇因数即一个奇数。我想成质数了
1.当A选手开局是1时A败。
2.当A选手开局是2和奇数时A必胜。奇数除以自己就是1给对手1
3.当A选手开局是偶数分情况讨论此题难点
偶数可以写成 (2^x)*y y不是2的倍数都给前一项了所以y是奇数
——
当y是1时这个偶数是2^x没有奇因数只能减一。
这样的话对手拿到奇数如果是给2减的1则A胜否则由上文知A败。
———
当y1时
因为减1直接败我们给它除去这个y。
//是质数除掉对手偶2我们输不是2我们赢//不是质数赢除完是2就别除完不是2就除完
——
核心代码
int is_prime(int x)
{for(int i 2; i * i x; i){if (x % i 0)return 0;}return 1;
}
void solve()
{int n;cin n;if (n 1){cout FastestFinger endl;}else if (n 2||n%21){cout Ashishgup endl;}else{int tmp n;while (tmp % 2 0){tmp / 2;}if (tmp 1)//2^x{cout FastestFinger endl;}else{if (is_prime(tmp)n/tmp2){cout FastestFinger endl;}elsecout Ashishgup endl;}}
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t 1;cin t;while (t--){solve();}return 0;
}