1 条题解
-
0
题解
我们只需要将十进制数转换成二进制,然后遍历找到其二进制序列中“1”的数量,即可拆分出的加数(每个加数为 的形式)的数量,代表相应的移位操作数,加法操作数为移位操作数-1,故可得结果。
代码
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { int t; cin>>t; while(t--) { int x; cin>>x; int cnt=0; while(x>0) { int temp=x%2; if(temp==1) cnt++; x/=2; } ll ans=cnt+100*(cnt-1); cout<<ans<<endl; } return 0; }
- 1
信息
- ID
- 384
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 37
- 已通过
- 26
- 上传者