社区讨论
奇怪的问题 求调
P1010[NOIP 1998 普及组] 幂次方参与者 3已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @m2yg2nhw
- 此快照首次捕获于
- 2024/11/01 16:00 去年
- 此快照最后确认于
- 2025/11/04 15:36 4 个月前
RT
为啥我输出和题目的一样,但锣鼓的评测判我WA QAQ
求大佬看看
CPP#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;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...