读书人

求C代码解决思路

发布时间: 2012-02-11 09:51:34 作者: rapoo

求C代码
一个四位数,十进制表示的各位数之和,等于十二进制表示的各位数之和,也等于十六进制表示的各位数之和。就C的代码,在下实在无能为力....

[解决办法]
楼主验收

C/C++ code
#include <stdio.h>unsigned SumOfDigits(const unsigned num, const unsigned base){    unsigned nNum = num;    unsigned nDigit = 0;    unsigned nSum = 0;    do    {        nDigit = nNum % base;        nNum /= base;        nSum += nDigit;    }    while(0 != nNum);    return nSum;}int main(void){    for(unsigned i = 1000; i < 10000; i++)    {        unsigned uTen = SumOfDigits(i, 10);        unsigned uTwelve = SumOfDigits(i, 12);        unsigned uSixteen = SumOfDigits(i, 16);        if(uTen == uTwelve && uTwelve == uSixteen)        {            printf("i=%u    sum=%u\n", i, uTen);        }    }    return 0;} 

读书人网 >C语言

热点推荐