社区讨论

大佬求调,样例都不过

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lzwtje6w
此快照首次捕获于
2024/08/16 22:42
2 年前
此快照最后确认于
2024/08/17 10:15
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int n;
void f(int d){
	int k[100005];
	int p=0;
	while(d!=0){
		k[p++]=d%2;
		d/=2;
	}
	for(int i=p-1;i>=0;i--){
		if(k[i]==0){
			continue;
		}
		if(k[i]==1 && i<=2){
			cout << "2";
			if(i!=1){
				cout << "(" << i <<")";
			}
		}else{
			cout << "2(";
			f(i);
			cout << ")";
		}
		int o=0;
		for(int j=i-1;j>0;j--){
			if(k[j]==1){
				o++;
			}
		}
		if(o==0){
			break;
		}else{
			cout << "+";
		}
	}
}
int main(){
	cin >> n;
	f(n);
	return 0;
}

回复

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

正在加载回复...