站外题求助!!
  • 板块灌水区
  • 楼主ChenZQ
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/12/31 19:26
  • 上次更新2023/10/24 06:00:01
查看原帖
站外题求助!!
745358
ChenZQ楼主2022/12/31 19:26

C. SQRT? 描述 一天,Alice和Bob玩一个名字叫做“因数Game”的游戏,游戏的规则是这样的:游戏开始时会给出一个数字 xx ,然后Alice和Bob需要轮流说出 xx 的因数,不能重复地说一个因数。Alice先说,直到谁不能说了谁就输了。

因数的定义:如果 aa 是 bb 的因数,a≠0a  ​ =0 ,那么有 b%a=0b%a=0。

例如 x=2x=2 。Alice说 11 ,Bob说 22 ,此时Alice没有数字可以说了,所以Bob胜利。

输入 一行一个整数 xx 。(1 \leq x \leq 1e12)(1≤x≤1e12) 输出 如果Alice胜利,输出Alice,否则输出Bob。

这道题总是会超时,能各位大佬帮忙看看吗

#include <iostream>

using namespace std;

int main()
{ 
    int n,i,j=0,s=2;
	scanf("%d",&n);
	if(n==1)
	{
		printf("Alice");
		return 0;
	}
    for(i=2;i*i<=n;i++)
	{
		if(i*i==n)s++;
		else if(n%i==0)s+=2;
		
	}
	//cout<<s<<endl;
    if(s%2==0)
    {
    	printf("Bob");
	}
	else printf("Alice");
}
2022/12/31 19:26
加载中...