剑指offer——18打印从1到最大的n位数
2024-09-27 23:34:26
题目:
输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999。
题解:
注意大数溢出问题,故使用字符串更靠谱
class Solution
{
public:
void Print1ToMaxOfNDigits(int n)
{
if (n < )
{
cout << << endl;
return;
}
string str = "";
while(str.length()<n+)
{
cout << str << endl;
int c = ;
for (int i = str.length() - ; i >= ; --i)
{
if (i == str.length() - || c == )
{
int temp = str[i] - '' + ;
str[i] = temp % + '';
c = temp / ;
}
else
break;
}
if (c == )
str.insert(str.begin(), '');
}
}
};
最新文章
- 用NSAttributedString实现简单的图文混排
- 安装VS 2013遇到的问题,及解决方案
- [转载] Android动态加载Dex机制解析
- Hibernate查询
- [CoreOS 转载] CoreOS实践指南(六):分布式数据存储Etcd(下)
- Android SQLite (三 ) 全面详解(一)
- PHP文件上传与安全
- 年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇
- RSA算法原理——(3)RSA加解密过程及公式论证
- 一道颇有难度的JavaScript题
- 使用LevelListDrawable实现Html.fromHtml多张图片显示
- 大数据与Hadoop
- Python3编写网络爬虫02-基本请求库requests的使用
- FIDDLER的使用方法及技巧总结(连载二)FIDDLER用户界面
- VBA改写VBA代码
- IntelliJ IDEA部署tomcat时Edit Configuration无artifact选项
- 【转】SQL SERVER 获取存储过程返回值
- IOS-网络(ASIHTTPRequest的使用简介)
- struts2 与 spring 整合
- JS——BOM、DOM