广东新生赛K

在这里插入图片描述

联立方程组
看有没有整数解
我一开始觉得是个高精度
很大很大的值
我就拿字符数组做了
然后同余定理用的不对啊
我为啥不先用longlong试试呢
真是的我脑子里扫了扫觉得过不了
第一遍是用longlong写的
我吐了

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	long long p;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%lld",&p);
		long long ans=12*p-3;
		long long res=sqrt(ans);
		if(res*res==ans)
		{
			if((res-3)%6==0)
				printf("YES\n");
			else
				printf("NO\n");
		}
		else if((res+1)*(res+1)==ans)
		{
			if((res-2)%6==0)
				printf("YES\n");
			else
				printf("NO\n");
		}
		else
			printf("NO\n");
	}	
	return 0;
} 

12*p-3是判别式
可以自己在纸上算一下

发布了54 篇原创文章 · 获赞 4 · 访问量 883

猜你喜欢

转载自blog.csdn.net/weixin_45460987/article/details/103443010
今日推荐