洛谷P5238 整数校验器【三月月赛】

该博客介绍了洛谷竞赛中P5238整数校验器的问题,强调了合法输入的几个关键条件:禁止单独的负号,禁止连续的0开头的数字,以及位数限制在20位以内。博主通过分析指出,需将字符数组转换为数值,并与给定范围(l, r)进行比较。" 115075280,9217745,统信UOS配置TongWeb开机自启,"['操作系统', 'Linux', '服务管理']
摘要由CSDN通过智能技术生成

题目描述 https://www.luogu.org/problemnew/show/P5238
主要考虑的有几点
1.单独"-"是不行的,-0类似的也不行,00,01,02这样的也不行,都算不合法。
2.在合法的前提下,位数超过了20就说明不在范围内了。
3.把字符数组转换为数,再与l r判断。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll l,r;
int main() 
{ int t;

   scanf("%lld%lld%d",&l,&r,&t);
   while(t--)
   {
   	  char ch[100005];
   	  cin>>(ch+1); int len=strlen(ch+1);
   	  if(ch[1]=='-')
   	    if(ch[2]=='0'||len==1)//-0 -
   	    {
   	       puts("1");
		   continue;		
		}
   	  if(ch[1]=='0'&&len!=1)//00 01
   	  {
   	      puts("1");
		  continue;  	
	  }
	  if(ch[1]=&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值