POJ 2196 Specialized Four-Digit Numbers

题意:求2992到10000之间,10进制,12进制,16进制各位数之和相同的数,输出来
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define N 20
int a[N];
int i;
void f(int x)
{
    int temp=i;
    while(temp!=0)
    {
        a[x]+=temp%x;
        temp/=x;
    }
}
int main()
{
        for(i=2992;i<=10000;i++)
        {
            memset(a,0,sizeof(a));
            f(16);
            f(12);
            f(10);
            if(a[10]==a[12]&&a[12]==a[16])
            {
                printf("%d\n",i);
            }
        }
    return 0;
}

你可能感兴趣的:(POJ 2196 Specialized Four-Digit Numbers)