用求排列方法:
代码:
#include<iostream>
using namespace std;
//使用递归求解1 到最大的n位数
void print(char * number){
bool isBegin = true;
int length = strlen(number);
for(int i = 0; i < length; i ++){
if(isBegin && number[i] != '0')
isBegin = false;
if(!isBegin)
printf("%c",number[i]);
}
printf("\t");
}
void printRecursively(char * number,int length,int index){
if(index == length - 1){
print(number);
return ;
}
for(int i = 0;i<10;i++){
number[index+1] = i + '0';
printRecursively(number,length,index+1);
}
}
void printToMaxOfDigits(int n){
if(n <= 0){
return;
}
char * number = new char[n+1];
number[n] = '\0';
for(int i = 0; i< 10 ;i++)
{
number[0] = i +'0';
printRecursively(number,n,0);
}
delete[] number;
}
int main()
{
printToMaxOfDigits(3);
return 0;
} 使用递归求解1 到最大的n位数,布布扣,bubuko.com
原文地址:http://blog.csdn.net/buyingfei8888/article/details/38513215