Oier们的幸运数字
题目描述
JerryC对数字痴迷到了一种非正常的境界。每天JerryC都有喜欢的一些数字。第 天JerryC就喜欢中的数字。但是他觉得这样并不是很有趣,于是他就定义了一个函数
但是JerryC还是觉得不够有趣,于是她觉得只有满足
为奇数的一天才是她特别高兴的一天。
现在告诉你最近天JerryC喜欢的数的区间,请你猜猜她每一天会不会特别高兴。
解释:
第一个式子就是表示 等于 乘以 的约数个数。
第二个式子就是求出 区间内所有的 的和。
输入输出格式
输入格式:
第行一个整数表示有多少天。
第行两个非负整数表示每天JerryC喜欢的数的区间。
输出格式:
行。每行为"“或”",表示第 天是不是JerryC特别高兴的一天。
输入输出样例
输入样例:
#####输出样例:
数据范围
我们发现,只有是奇数的情况才能对答案产生贡献。设。
对于区间,只有区间长度中的奇数对答案有贡献。我们求出区间长度便可以求出答案。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#define reg register
typedef long long ll;
int n,ans;
ll a,b;
ll c,d;
//读入优化
inline ll read(){
ll x=0;char c;
do c=getchar(); while(c<'0'||c>'9');
while(c>='0'&&c<='9')
x=x*10+c-48,c=getchar();
return x;
}
int main(){
scanf("%d",&n);
for(reg int i=1;i<=n;++i){
a=read(),b=read();
c=ceil(sqrt(a)),d=sqrt(b);
if(a==b)//特判
{
printf(c*c==a&&(c&1)?"Yes\n":"No\n");
continue;
}
//如果c是偶数,他对答案不产生贡献
if(!(c&1)) c++;
printf(((d-c)/2+1)&1?"Yes\n":"No\n");
}
}

浙公网安备 33010602011771号