这个写法会不会超出空间复杂度
查看原帖
这个写法会不会超出空间复杂度
552018
Andrews123楼主2023/6/23 14:18
#include <iostream>
using namespace std; 

void fun(int n, int r){
    if(n==1){
        if(r==0){
			cout<<"2(0)";
		}else if(r==1){
			cout<<"2";
        }else if(r==2){
			cout<<"2(2)";
        }else{
            cout<<"2(";
            fun(r,0);
            cout<<")";
        }
    }
    else{
        fun(n/2,r+1);
        if(n%2==1){
            if(n==0){
				cout<<"+2(0)";
			}
            else if(n==1){
				cout<<"+2";
			}
            else if(n==2){
				cout<<"+2(2)";
			}
            else{
                cout<<"+2(";
                fun(r,0);
                cout<<")";
            }
        }
	}
}

int main(){
	int number;
	cin>>number;
	fun(number,0);
	return 0;
}
2023/6/23 14:18
加载中...