A - Specialized Four-Digit Numbers
题意:将四位数中,十进制各个位数字之和等于十二进制各个位数字之和,同时也等于十六进制各个位数字之和的数找出,打印出来。
题解:好像没有什么可以解释的,,,直接上代码。
ACcode:
int cal(int base, int n)//base是进制,n是需要求和的数
{
int sum = 0;
while (n > 0)
{
sum += n % base;
n /= base;
}//这是用来处理进制转换和求和的函数
return sum;
}
int main()
{
for (int i = 2992; i <= 9999; i++)
{
int a = cal(10, i);
if (a == cal(12, i) && a == cal(16, i))//如果每种进制求和得到的数相等
cout << i << endl;//输出
}
return 0;
}