水仙花数

问题:水仙花数,所谓水仙花数是一个三位数,他的个位数字立方和等于该数本身,例如153=1*1*1+5*5*5+3*3*3

分析:

  1,利用for循环控制100-999个数,每个数分解出个位,十位,百位

  2,这里主要学到的是,分解位数

        个位——n%10

        最高位——n/(10)^(n的位数-1)

        其他位(比如是从个位是1开始,那么十位就是2,依次的位数p)——n%(10)^p/(10)^(p-1)

代码:

int n,i,j,k;

    for(n=100;n<=999;n++){

        i=n/100;  //分解出百位

        j=n%100/10;  //分解出十位

        k=n%10;  //分解出个位

        if(i*i*i+j*j*j+k*k*k==n){

            printf("%d ",n);

        }

    }

结果:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容