例4.6 - 数的计数 - 无情递归法

#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<typeinfo>
#include<sstream>
#include<fstream>
#include<algorithm>
using namespace std;

int t =1;	//本身算1个 
string n;
void coutN(string n){
	int firstN = int(n[0]) - 48;	//char -> int	获取首位int 
	
	string nn="";
	
	for(int i=1;i<=firstN/2;i++){	//用for循环次数 -> 递归边界 
		nn = char(i+48) + n;
		cout << nn << endl;	//输出 
		t++;	//计数 
		coutN(nn); //进位 
	}
}

int main()
{
	//流程图!! 

	cout << "输入:";
	cin >> n;
	
	cout << n << endl;	//本身也符合 
	coutN(n);	//开始进位
	cout << "总数:" << t; 
	
	return 0; 
}
//cout << "输入:";

结果:

例4.6 - 数的计数 - 无情递归法

猜你喜欢