HDU 1197

#include <iostream>
#include<stdio.h>

using namespace std;

int main(void)
{
    int dec_sum=0,hex_sum=0,duo_sum=0,dec_temp,hex_temp,duo_temp;

    for(int i=1000; i<10000; i++)
    {
        //计算十进制各位的和
        dec_temp=i;
        while(dec_temp!=0)
        {
            dec_sum+=dec_temp%10;
            dec_temp/=10;
        }
        //计算16进制各位的和
        hex_temp=i;
        while(hex_temp!=0)
        {
            hex_sum+=hex_temp%16;
            hex_temp/=16;

        }
        //计算12进制各位的和
        duo_temp=i;
        while(duo_temp!=0)
        {
            duo_sum+=duo_temp%12;
            duo_temp/=12;

        }

        //三种方式的和都相等就输出,注意不能写成dec_sum==hex_sum==duo_sum
        if(dec_sum==hex_sum&&hex_sum==duo_sum)
            cout<<i<<endl;
        //在最后必须重新清零
        dec_sum=0;
        hex_sum=0;
        duo_sum=0;
    }
    return 0;
}

posted @ 2018-04-23 18:12  MCQ  阅读(138)  评论(0编辑  收藏  举报