依照题意进行模拟即可。
def
函数用于计算将
n
n
n 转换为
k
k
k 后的数位之和。
- C++
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int get(int x, int b)
{
int res = 0;
while (x)
{
res += x % b;
x /= b;
}
return res;
}
int main()
{
int res = 0;
for (int i = 1; i <= 2024; ++ i )
res += get(i, 2) == get(i, 4);
cout << res << endl;
return 0;
}
- Python
def get(n, k):
res = 0
while n != 0:
res += n % k
n //= k
return res
res = 0
for i in range(1, 2024 + 1):
res += get(i, 2) == get(i, 4)
print(res)
运行结果:
63