社区讨论

玄学 MLE

P1010[NOIP 1998 普及组] 幂次方参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi6x3ebq
此快照首次捕获于
2025/11/20 12:14
4 个月前
此快照最后确认于
2025/11/20 12:14
4 个月前
查看原帖
这是代码
CPP
#include<iostream>
#include<stdio.h>
using namespace std;
int n,i;
int a[500000];
void work(int n,int i)
{
	if (n==1) cout<<"2(0)"; 
	if (n==2) cout<<"2";
	if (n==3) cout<<"2+2(0)";
	if (n>=1 && n<=3) return ;
	cout<<2;
	if (n!=0) 
	{
		while (a[i]>n) i--;
		n-=a[i];
		//cout<<">>"<<i<<endl;
		cout<<"(";
		work(i,i);
		cout<<")";
	} else return ;
	if (n!=0) 
	{
		cout<<"+";
		work(n,i);
	}
}
int main()
{
	cin>>n;
	a[0]=1;
	int i=0;
	while (a[i]<=n) a[++i]=a[i-1]*2;
	if (n==0) cout<<0<<endl; else work(n,i);
}

回复

3 条回复,欢迎继续交流。

正在加载回复...