问答详情
源自:4-9 循环结构之for循环(二)

题目没明白,公式也没明白。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3。

不明白公式

获取三位数字num百位上的数字

        hd =num/100;

        //获取三位数字num十位上的数字

        td =num%100/10;

        //获取三位数字num个位上的数字

        sd =num%10;

        //水仙花数的条件是什么?

        if(num==hd*hd*hd+td*td*td+sd*sd*sd ) 

        {

            printf("水仙花数字:%d\n", num);    

        }


提问者:KCHO 2018-09-17 16:18

个回答

  • 幕布斯8488983
    2018-09-18 12:58:21
    已采纳

    https://img2.mukewang.com/5ba085a50001c71104820607.jpg不知道理解图中这些符号的意义吗,看下可能有助于理解

  • 幕布斯8488983
    2018-09-17 18:03:45

    三列代码要求出这个三位数的个位,十位还有百位的数字。

    hd是百位数,用num/10可以直接得到百位上的数字

    td是十位数,(num%100)是求余,例如545%100的结果是45,然后再/10,可求的十位上的数字

    sd是个位数,可直接用num%10得到,例如545%10余下的就是个位数5

    不知道能不能看懂