C++快速读入
2024-10-19 12:01:59
使用C++的标准cin进行读入速度比较慢,尤其是在大数据的情况下,所以我们需要使用一种方法,按照字符读入,最后再“组装”成整数。由于字符读入比数字要快,所以这样做可以提高读入速度。
方法:逐位读入,把原来的数乘上10再加上这个数即可。乘上10的目的是空出个位放入待读入的数。
例如,输入123
先读入1,x=1
再读入2,x=x*10+2=10+2=12
再读入3,x=x*10+3=120+3=123
对于负数的处理,只需要判断读入的第一个数是否为负数。
void fast_read(int &x){
x=0;
char c;
int fs;
c=getchar();
while(c==' ')c=getchar();
if(c=='-')fs=1;
else fs=0,x=x*10+c-'0';
while(c>='0'&&c<='9'){
c=getchar();
if(c>='0'&&c<='9')x=x*10+c-'0';
}
if(fs)x*=-1;
return;
}
最新文章
- 2016 、12 、11<;本周>;
- HDU 1131 Count the Trees 大数计算
- hdu1710 二叉树的遍历
- SAPI训练文件存储位置
- Java多线程-新特性-线程池
- DzzOffice共享文件夹、共享目录设置
- hdu 1877 又一版 A+B
- List 排序
- iOS 中如何监测某段代码运行的时间
- [置顶] 【IOS】IOS7 UI适配
- ODBC操作数据库
- OpenCV角点检测goodFeaturesToTrack()源代码分析
- Re:Exgcd解二元不定方程
- spring-boot-starter大力出奇迹
- 设计模式—装饰模式的C++实现
- pycharm opencv4.0安装使用
- callee和斐波那契数列
- 文件上传:input file FileReader
- Java网络通信基础编程
- git忽略文件留存