码AC但用goto,怎么改a
查看原帖
码AC但用goto,怎么改a
948951
yzsy25071621楼主2023/8/17 21:41
#include <iostream>
#include <string>

using namespace std;

void to_2pow(int);

int N;

int main()
{
	cin>>N;
	to_2pow(N);
	return0;
}

void to_2pow(int n)
{
	if(n==0)
	{
		cout<<"0";
		return;
	}
	if(n==1)
	{
		cout<<"2(0)";
		return;
	}
	if(n==2)
	{
		cout<<"2";
		return;
	}
	int i=1;
	while(n-(1<<++i)>=0);
	i--;
	if(i==1)
	{
		cout<<2;
		goto FLAG;
	}
	cout<<"2(";
	to_2pow(i);
	cout<<")";
	FLAG:
	if(n-(1<<i))
	{
		cout<<"+";
		to_2pow(n-(1<<i));
	}
	return;
}

抄的全CE

2023/8/17 21:41
加载中...