2 条题解
-
32230134娄耀 (2212238) LV 8 @ 2023-07-02 12:43:54
#include<bits/stdc++.h> using namespace std; void p(int x) { int a[14],k=0,i=0,cnt=0; while(x) { int m=x%2; if(m==1) { a[cnt++]=k; } x/=2; k++; } for(i=cnt-1;i>=0;i--) { if(a[i]==0) cout<<"2(0)"; else if(a[i]==1) cout<<"2"; else if(a[i]==2) cout<<"2(2)"; else { cout<<"2("; p(a[i]); cout<<")"; } if(i!=0) cout<<"+"; } } int main() { int n;cin>>n; p(n); return 0; }
-
22022-09-12 20:37:37@
#include<bits/stdc++.h> #include<cstdlib> #include<cstring> using namespace std; void f(int n) { if(n==1) { cout<<"2(0)"; return; } if(n==2) { cout<<"2"; return; } int i=1,s=0; while(i<=n) { i=i*2; s++; }s--; if(n==i/2) { cout<<"2("; f(s); cout<<")"; } else { if(i/2==2) { cout<<"2+"; f(n-i/2); } else { cout<<"2("; f(s); cout<<")+"; f(n-i/2); } } } int main() { int n; cin>>n; f(n); }
- 1
信息
- ID
- 1500
- 难度
- 4
- 分类
- (无)
- 标签
- 递交数
- 51
- 已通过
- 24
- 通过率
- 47%
- 被复制
- 4
- 上传者