2 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n; long long a[30]; int main() { cin>>n; if(n%2==1) { cout<<"-1"; return 0; } a[1]=1; for(int i=2;i<=26;i++) { a[i]=a[i-1]*2; } for(int i=26;i>=2;i--) { if(n>=a[i]) { n-=a[i]; cout<<a[i]<<' '; } if(n==0) return 0; } return 0; }
-
0
水题
#include<bits/stdc++.h> using namespace std; int n[10000]; long long pot(int a){ long long p=1; for(int i=1; i<=a; i++){ p=p*2; } return p; } int main() { long long a; cin >>a; int k=1; if(a%2==1){cout<<"-1";} else{ for(int i=1; i>0; i++){ n[i]=a%2; a=a/2; k++; if(a<2){ n[i+1]=a; break; } } for(int i=k; i>=1; i--){ long long o=0; if(n[i]!=0){ o=pot(i-1); cout<<o<<" "; } } } return 0; }
- 1
信息
- ID
- 767
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 200
- 已通过
- 46
- 上传者