hdu 5059 判断数字表示方式以及范围合法(int型之内)
方式 以及 数字 判断 HDU 表示 范围 int
2023-09-11 14:14:00 时间
题意:
给你一个串和两个整数a,b,问你这个串表示的数字是否合法,并且在a,b之间,
和法的要求是无论是正数还是负数都没有前导0,并且注意 -0 是不合法的。
思路:
写了将近两个小时了,还是wa,就是不停的模拟模拟模拟,最后都感觉自己不知道题意了,-0不合法是最后ac了才测出来的,在网上看到了一个比较好的方法,里面涉及到两个新的函数,之前没用过,先解释下函数及其功能
#include<stdlib.h>
//atoi(str) 把字符串转化成10进制int<字符串里只能有0-9>
//itoa(a ,str ,b)把a转换成b进制存在str中 a b 都是整数
给你一个串和两个整数a,b,问你这个串表示的数字是否合法,并且在a,b之间,
和法的要求是无论是正数还是负数都没有前导0,并且注意 -0 是不合法的。
思路:
写了将近两个小时了,还是wa,就是不停的模拟模拟模拟,最后都感觉自己不知道题意了,-0不合法是最后ac了才测出来的,在网上看到了一个比较好的方法,里面涉及到两个新的函数,之前没用过,先解释下函数及其功能
#include<stdlib.h>
//atoi(str) 把字符串转化成10进制int<字符串里只能有0-9>
//itoa(a ,str ,b)把a转换成b进制存在str中 a b 都是整数
//记得用C++提交
//atoi(str) 把字符串转化成10进制int //itoa(a ,str ,b)把a转换成b进制存在str中 #include<stdio.h> #include<string.h> #include<stdlib.h> int main () { char str1[110] ,str2[110]; int a ,b; while(gets(str1)) { scanf("%d %d" ,&a ,&b); getchar(); int c = atoi(str1); itoa(c ,str2 ,10); if(strcmp(str1 ,str2) || c < a || c > b) printf("NO\n"); else printf("YES\n"); } return 0; }
相关文章
- HDFS(分布式存储)_Hadoop核心_002-----------通过javaAPI的方式操作HDFS
- YII用户注冊表单的实现熟悉前台各个表单元素操作方式
- HCIE-Security Day28:IPSec:实验(三)总部采用ISAKMP方式安全策略组与分支机构之间建立IPSec PN
- Flutter Container 容器以及对齐方式 Alignment
- 用邻接矩阵方式建立图、简化化版
- 温故而知新: 关于 js Form 方式提交的一些新认知
- VScode&快捷使用的方式 以及css伪类选择器
- linux中加载驱动程序的命令以及加载方式过程分析
- 【Selenium核心技术篇】selenium三种等待方式:剖析原理/用法和应用场景
- activemq的两种基本通信方式的使用及总结
- UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式
- SpringMVC 页面传递参数到controller的五种方式
- HTTP 请求方式: GET和POST的比较当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。
- 一次不成功的风投见面会(中期项目,则需要有良好的财务构成,以及合适的风投退出方式)
- Sql Server 优化----SQL语句的执行方式与锁以及阻塞的关系
- nginx反向代理以及nginx反向代理三种方式
- Mybatis 当实体属性与数据库字段不一致时的几种情况以及解决方式
- ajax 几种提交方式
- 常见的用户密码加密方式以及破解方法
- Linq排序方式与Lambda排序方式比较以及OrderBy、ThenBy的使用
- response设置编码的三种方式以及比较
- Java实现Opencv源码以及启动appium的两种方式