洛谷:P1179 数字统计 C++三种写法总结
0、前言
以前刷力扣的时候用过atoi函数,但是好像这道题没必要吧……
今天刷洛谷的时候,看见一道数字统计,这么简单的题目还没做!天理难容啊,打开,我相信五分钟就敲完了,我打算改进代码,下面是几种方法,越来越好!
文章目录
- 0、前言
- 1、stringstream
- 2、部分改进to_string()
- 直接判断不就行了:scream:
1、stringstream
以前的代码可以这么写,但是时间会慢一点,stringstream是简单,但是很耗时
#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
string int2str(int aNum)
{stringstream res;res << aNum;string ans;res >> ans;return ans;
}
int char2int(char ch)
{stringstream res;res << ch;int aNum;res >> aNum;return aNum;
}
int main()
{int start, end;int count = 0;cin >> start >> end;for (int i = start; i <= end; i++){string stmp = int2str(i);for (int idx = 0; idx < stmp.size(); idx++){if (char2int(stmp[idx]) == 2)count++;}}cout << count << endl;return 0;
}
这样可以通过
非常棒!
2、部分改进to_string()
好,那么既然string库有to_string
函数,那么为什么不用呢?
#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
int char2int(char ch)
{stringstream res;res << ch;int aNum;res >> aNum;return aNum;
}
int main()
{int start, end;int count = 0;cin >> start >> end;for (int i = start; i <= end; i++){string stmp = to_string(i);for (int idx = 0; idx < stmp.size(); idx++){if (char2int(stmp[idx]) == 2)count++;}}cout << count << endl;return 0;
}
看图就知道,速度又快了一点!
洛谷:P1179 数字统计 C++三种写法总结相关推荐
- 刷题-洛谷-P1179 数字统计
P1179 数字统计-C语言 1.题目 2.解题过程 结果: 代码: //洛谷 P1179 数字统计 #include <stdio.h> //#define MIN 1 //#defin ...
- 题解洛谷1179数字统计 记录问题
文章目录 数字统计 一.思路1 二.思路二 优化 1.想法 2.代码 二.继续优化 不用类型转换 总结 数字统计 题目描述 请统计某个给定范围[L, R][L,R]的所有整数中,数字 22 出现的次数 ...
- 洛谷P1553 数字反转(升级版)
洛谷P1553 数字反转(升级版) 题目描述 输入格式 输出格式 输入输出样例 说明/提示 个人理解 整数 百分数 分数 小数 AC代码 写在最后 题目描述 给定一个数,请将该数各个位上数字反转得到一 ...
- CSS伪类的三种写法
今天逛蓝色时,无意发现了有人讨论伪类的正确写法,让我对伪类的认识也更清晰了,转贴于此,以备日后查询(原贴当时没记下地址,已经记不得了) Code <style> a.tb{text-dec ...
- Promise的链式调用三种写法,Promise.all与式调用
Promise的链式调用三种写法: // 1,Promise原始链式调用 new Promise((resolve, reject) => {setTimeout(() => {conso ...
- android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法
闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...
- vue2.0模板的三种写法
vue2.0中的模板有三种写法,根据不同的需求运用不同的方法来实现 1. <!DOCTYPE html> <html lang="en"> <head ...
- JavaScript的三种写法
1.2-JavaScript的三种写法 1-复习CSS代码的三种写法 1.外联样式:写在css文件中,使用link导入 <link rel="stylesheet" href ...
- SpringMVC框架|Handler处理器的三种写法
文章目录 一.SpringMVC中的处理器 1.SpringMVC开发方式 2.Servlet原生开发方式 3.开发中常用的方式 一.SpringMVC中的处理器 配置完SpringMVC的处理器映射 ...
最新文章
- Docker 学习6 Docker存储卷
- Ubuntu使用——23(dock的美化)
- 图像的灰度级数越多越好_数字图像处理:Reducing Gray Levels, Zooming and Shrinking
- oracle计算1到一百偶数的和,Perl 打印在1..100内所有偶数和奇数
- 断开式 DataGridView控件 winform
- 初学者python笔记(面向对象编程、类与对象)
- Java String.indexOf() 函数用法小结
- nprogress页面加载进度条
- android 开发中判断网络是否连接的代码
- 竞价推广经验分享 账户的搭建方法
- asp.net后台正则表达式验证手机号码邮箱
- Get value from agent failed: cannot connect to [[192.168.186.130]:10050]: [113]No route to host
- 罗翔老师转谈记录,不同认知出发//心之所向,素履以往,生如逆旅,一苇以航。
- seo是做什么-程绩
- 如何在网页中嵌入播放器
- Fater-Rcnn原理详解
- PS用橡皮檫檫除图形与背景颜色一样的方法
- 批量复制到花瓣网上图片素材的原图
- MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)
- kotlin一点摸索