题解:P10999 [蓝桥杯 2024 省 Python B] 穿越时空之门
yangcenyou · · 题解
这是本题的第一份题解,也是我的第一份题解。
题目传送门
题意
对于
- 这个数在二进制下的数位之和与这个数在四进制下的数位之和相等。
思路
首先,定义
然后,统计数位之和是否相等,相等则将
最后输出
代码
c++
#include <bits/stdc++.h>
#define int long long
using namespace std;
int cnt;
int check(int i,int jinzhi){
vector<int>ji;
while(i){
ji.push_back(i%jinzhi);
i/=jinzhi;
}
int c=0;//进制转换
for(int i=0;i<ji.size();i++) c+=ji[i];//统计数位和
return c;
}
signed main(){
for(int i=1;i<=2024;i++) cnt+=(check(i,2)==check(i,4));//循环
cout<<cnt;//输出
return 0;
}
这题不难,建议评红或橙。