输出时,不是0和2都无休止地打印“+”
查看原帖
输出时,不是0和2都无休止地打印“+”
715774
Little_Andyyu楼主2022/8/23 20:15
#include<bits/stdc++.h>
using namespace std;
int f;
int a[17];
int car(int t)
{
	if(t==0){
	cout<<t;
	return 0;}
	else if(t==2){
	cout<<t;
	return 0;}
	else while(1){
		int i;
		for(i=16;a[i]>t;i--)
		if(a[i]!=2){
			printf("2(");
			car(i);
			printf(")");
		}
		else printf("2");
		if(t-a[i]){
			printf("+"),t=t-a[i];
		}
		else return 0;
	}
} 
int main()
{
	a[0]=1;
	for(int i=1;i<=16;i++){
		a[i]=a[i]-1*2;
	}
	cin>>f;
	car(f);
	return 0;
}
2022/8/23 20:15
加载中...