美文网首页
【JAVA笔记】For 语句练习之 “水仙花数”

【JAVA笔记】For 语句练习之 “水仙花数”

作者: 森林里吹着萨克斯风的鹿 | 来源:发表于2017-07-23 11:10 被阅读0次

    所谓的水仙花数是指一个三位数,其个,十,百三个位数上数字的立方和等于该数本身。

    以153为例:

    153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153


    求100~999中的所有“水仙花”数:

    //1.获取个位十位百位上的数字

    for(int i = 100; i <= 999; i++){                 //遍历100~999中的所有数字

         int baiwei = i / 100;                          //此间除法只求商不管余数

         int shiwei = i / 10 % 10;

         int gewei = i % 10;                                //模10取余数

    //2.求各个位数的立方和

    int sum = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei;

    if(sum == i) {                                       //如果满足条件则此数为水仙花数

    System.out.println(i);                    //输出所求范围间的所有水仙花数

            }

    }

    求100~999中的所有“水仙花”数的个数:

    这时候要求水仙花个数只需在上面代码的基础上加一个累加步骤就行了

    int count = 0;//默认水仙花数的个数

    //1.获取个位十位百位上的数字

    for(int i = 100; i <= 999; i++){                       //遍历100~999中的所有数字

    int baiwei = i / 100;                                     //此间除法只求商不管余数

    int shiwei = i / 10 % 10;

    int gewei = i % 10;                                             //模10取余数

    //2.求各个数的立方和

    int sum = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei;

    if(sum == i) {                                  //如果满足条件则此数为水仙花数

    count++;

    System.out.println(i);

            }

    }

    System.out.println("水仙花的个数:" + count);  

    相关文章

      网友评论

          本文标题:【JAVA笔记】For 语句练习之 “水仙花数”

          本文链接:https://www.haomeiwen.com/subject/ownpkxtx.html