奇怪的问题 求调
查看原帖
奇怪的问题 求调
445211
MC_dmAC楼主2024/11/1 16:00

RT

为啥我输出和题目的一样,但锣鼓的评测判我WA QAQ

求大佬看看

#include<iostream>
using namespace std;
#define f(n) for(int i=n;i>1;i--)
int n;
void work(int x)
{
	if(x==2)
	{
		cout<<"2";
		return;
	}
	if(x&(x-1)==0)
	{
		int a=-1;
		while(x!=0)a++,x>>=1;
		work(a);
		return;
	}
	int a[16]={0,0},al=1;
	while(x>0)
	{
		if(x&1)a[++al]=a[al-1];
		a[al]++;
		x>>=1;
	}
	f(al-1)
	if(a[i]==1)cout<<"2+";
	else 
	{
		cout<<"2(";
		if(a[i]==0)cout<<"0";
		else work(a[i]);
		cout<<")+";
	}
	 
	
	if(a[1]==1)cout<<"2";
	else
	{
		cout<<"2(";
		if(a[1]==0)cout<<"0";
		else work(a[1]);
		cout<<")";
	}
}
int main()
{
	cin>>n;
	work(n);	
	return 0;
 } 
2024/11/1 16:00
加载中...