Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
173625 | 牛萌萌 | 幂次方 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 516 | 2024-08-20 22:18:29 |
#include<iostream> using namespace std; int f1(int d) { int m=0; while(d>1) { d=d/2; m++; } return m; } int f2(int s) { int k=2; for(int i=1;i<s;i++) { k=k*2; } return k; } void f(int x) { while(x>0) { int i=f1(x); if(i==0) { cout<<"2(0)"; } if(i==1) { cout<<"2"; } if(i>1) { cout<<"2("; f(i); cout<<")"; } x=x-f2(f1(x)); if(i!=0&&x!=0) cout<<"+"; } } int main() { int n; cin>>n; f(n); return 0; }