首页 > 代码库 > 使用递归求解1 到最大的n位数
使用递归求解1 到最大的n位数
用求排列方法:
代码:
#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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。