2 条题解
-
1
omg......实话说有一点多此一举,代码还可以简化,但我太懒了呵呵,用的除法qwq……
#include <cmath> #include <iomanip> #include <cstring> #include <stdio.h> #include <queue> #include <algorithm> #include <string> #include <stack> using namespace std; const int N=1e5+10; long long m[N]; int main() { int i; cin>>i; int fl=0; for(int k=1;k<=i;k++) { fl=0; cin>>m[k]; if (m[k]<=0) { cout<<"NO"<<endl; fl=1; continue; } if(m[k]==1) { cout<<"YES"<<endl; continue; } if (m[k]%2 == 1) { cout<<"NO"<<endl; fl=1; continue; } while (m[k]>2) { m[k]/=2; if (m[k]%2 == 1) { cout<<"NO"<<endl; fl=1; break; } } if(fl==0) { cout<<"YES"<<endl; } } return 0; } -
-1
#include <bits/stdc++.h> using namespace std; long long a[64]; int main() { a[1] = 1; for (int i = 2; i <= 63; i++) a[i] = a[i - 1] * 2; long long m, n; bool flag = false; cin >> m; for (int i = 1; i <= m; i++) { flag = false; cin >> n; for (int j = 1; j <= 63; j++) { if (n == a[j]) flag = true; } if (flag) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
- 1
信息
- ID
- 893
- 时间
- 100ms
- 内存
- 4MiB
- 难度
- 8
- 标签
- 递交数
- 74
- 已通过
- 12
- 上传者