根据题目描述,对输入的一个四位数,判断其十进制各位之和a、十六进制各位之和b、十二进制各位之和c是否满足a==b&&a==c。简单的通过求余的方式,求得对应进制各位上的和就好。
#include <cstdio>
inline int sum(int x, int radix)
{
int sum = 0;
do
{
sum += x % radix;
} while (x /= radix);
return sum;
}
int main()
{
int a, b, c;
for (int i = 2992; i < 10000; i++)
{
a = sum(i, 10);
b = sum(i, 12);
c = sum(i, 16);
if (a == b && a == c)
printf("%d\n", i);
}
return 0;
}