剑指offer17--打印从1到最大的n位数

输入数字n,按顺序打印出从1到最大的n位十进制数。

比如输入3,则打印出1,2,3一直到999(最大的3位数)。

 

思路:

因为n没给,所以必须考虑到大数相乘除

得用字符串来处理。

  1. 个位(最低位在str[0])加加
  2. change函数检测是否需要进位,返回值是为了在最高位需要进位的时候停止
  3. pcout输出
#include 
#include 

using namespace std;

bool change(string & str)
{
	for(int i=0;i=0;i--)
	{
		if(str[i]!='0')
		{
			flag=true;
			cout<

递归地显示全排序:

#include 

using namespace std;

void pcout(string& str,int n)
{
	bool flag = false;
	for (int i = 0; i 

 

你可能感兴趣的:(剑指offer)