社区讨论
蒟蒻求助
P5238整数校验器参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi86f8ox
- 此快照首次捕获于
- 2025/11/21 09:23 4 个月前
- 此快照最后确认于
- 2025/11/21 09:23 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
long long t,l,r;
string x;
int main()
{
scanf("%lld%lld%lld",&l,&r,&t);
while(t--)
{
unsigned long long sum=0;
cin>>x;
int flag=0,flag2=0;
int len=x.size();
if(len==1)
{
if(x[0]<='9'&&x[0]>='0')
if(l<=x[0]-'0'&&r>=x[0]-'0')
printf("0\n");
else
printf("2\n");
else
printf("1\n");
}
else
{
if(x[0]=='-')
flag=1;
for(int i=flag;i<len;i++)
{
if(i==flag)
{
if(x[i]>'9'||x[i]<'1')
{
printf("1\n");
flag2=1;
break;
}
}
else
{
if(x[i]>'9'||x[i]<'0')
{
printf("1\n");
flag2=1;
break;
}
}
sum=sum*10+x[i]-'0';
}
if(sum>=(unsigned long long)(1ll<<63))
{
printf("2\n");
continue;
}
long long tmp;
if(flag2==1) continue;
if(flag==1) tmp=sum*-1;
else tmp=sum;
if(tmp>=l&&tmp<=r)
{
printf("0\n");
}
else
{
printf("2\n");
}
}
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...