soj - 1014 - Specialized Four-Dig

题意:输出从十进制数2992到9999之间(包括两端)十进制表示、十二进制表示、十六进制表示时各位数字和相同的所有数的十进制表示。

题目链接:http://soj.me/1014

——>>直接做就好。

#include <cstdio>

using namespace std;

int main()
{
    for(int i = 2992; i <= 9999; i++)
    {
        int temp = i, sum = 0, sum_16 = 0, sum_12 = 0;
        while(temp > 0)
        {
            sum += temp % 10;
            temp /= 10;
        }
        temp = i;
        while(temp > 0)
        {
            sum_16 += temp % 16;
            temp /= 16;
        }
        temp = i;
        while(temp > 0)
        {
            sum_12 += temp % 12;
            temp /= 12;
        }
        if(sum == sum_12 && sum == sum_16) printf("%d\n", i);
    }
    return 0;
}


你可能感兴趣的:(soj - 1014 - Specialized Four-Dig)