社区讨论

包对

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m2kgbowk
此快照首次捕获于
2024/10/22 20:58
去年
此快照最后确认于
2024/10/22 22:03
去年
查看原帖
第一个题解,不喜勿喷
CPP
#include <bits/stdc++.h>
using namespace std;
int a[16];
void f(int x)
{
	for(int i=15;i>=0;i--)
	{
		if(x>=a[i])
		{
			x-=a[i];
			if(i==0) printf("2(0)");
			else if(i==1) printf("2");
			else
			{
				printf("2(");
				f(i);
				printf(")");
			}
			if(x>0) cout<<"+";
		}
	}
}
int main()
{
	//freopen("power.in","r",stdin);
   //freopen("power.out","w",stdout);
   a[0]=1;
	for(int i=1;i<=15;i++) a[i]=a[i-1]*2;
	int n;
	cin>>n;
	f(n);
   //fclose(stdin);
   //fclose(stdout);
   return 0;
}

回复

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

正在加载回复...