美文网首页
Java案例-求出所有的水仙花数

Java案例-求出所有的水仙花数

作者: Java帮帮 | 来源:发表于2018-05-15 11:26 被阅读192次

Java案例

求出所有的水仙花数

案例分析

输出水仙花数,所谓的水仙花数是指一个3位数,其各个位数立方和等于其本身:

例如: 153=1*1*1+3*3*3+5*5*5

package teacher01;

/**

 * 输出水仙花数,所谓的水仙花数是指一个3位数,其各个位数立方和等于其本身: 例如: 153=1*1*1+3*3*3+5*5*5

 * 

 * @author 奋斗蒙

 *

 */

public class ShuiXianhua {

public static void main(String[] args) {

System.out.println("以下是所有的水仙花数");

        // 由于水仙花数是三位数,所以从100算起。

        int number = 100;

int i, j, k; // ijk分别为number的百位,十位,个位

for (int sum = 0; number < 1000; number++) {

i = number / 100; // 求得百位数

j = (number - i * 100) / 10; // 求得十位数

k = (number - i * 100 - j * 10); // 求得个位数

        // sum就是number水仙花数的值

        sum = i * i * i + j * j * j + k * k * k; 

if (sum == number) {

System.out.println(number + "这个是水仙花数!");

}

}

}

}

案例扩展1:

具体实现代码:

package teacher01;

import java.util.Scanner;

public class Test3 {

 /*

 * 知识扩展

 *  输入显示的水仙花位数,显示所有水仙花数

 */

 public static void main(String[] agrs) {

 System.out.print("指定最大位数N:");

 Scanner input = new Scanner(System.in);

 int N = input.nextInt();

 input.close();

 for (int i = 3; i <= N; i++) {

 int a[] = new int[i];

 int num = (int) Math.pow(10, i - 1) + 1;

 System.out.print(i + "位的水仙花数有:\t");

 while (num <= Math.pow(10, i)) {

 int sum = 0;

 for (int j = 0; j < i; j++)

a[j] = (int) (num / Math.pow(10, j) % 10);

 for (int j = 0; j < i; j++)

 sum = sum + (int) Math.pow(a[j], i);

 if (num == sum)

 System.out.print(num + "\t");

 num++;

 }

 System.out.print("\n");

 }

 }

}

案例扩展2:(javascript+html)

       

   

      var a = 0, b = 0, c = 0;

      for (var i = 100; i < 1000; i++)

      {

        a = i % 10;

        b = parseInt(((i / 10) % 10));

        c = parseInt(i / 100);

        if (i === a * a * a + b * b * b + c * c * c)

        {

          document.write('水仙花数: ' + i + '
');

        }

      }

获取更多资源点击阅读全文

相关文章

  • Java案例-求出所有的水仙花数

    Java案例 求出所有的水仙花数 案例分析 输出水仙花数,所谓的水仙花数是指一个3位数,其各个位数立方和等于其本身...

  • 水仙花问题 -- Java描述

    水仙花问题 -- Java描述 题目: 编程求出 100~999 的所有的水仙花数(所谓“水仙花数”是指一个3位数...

  • 求水仙花数

    求出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例如153=13+53+3^3。

  • 2015上机

    2015 1、求出int范围内2的幂的数(✔) 2、求出0到65535内的水仙花数(✔)

  • 【Java基础】-案例学习

    案例1:在控制台输出所有的“水仙花数” 什么是水仙花数:1.水仙花数是一个三位数,如:111,222,333,37...

  • Java 复习题

    1.水仙花数 打印出100-999所有的“水仙花数”。 思路: 水仙花数是指一个 n 位数 ( n≥3 ),它的每...

  • 求出所有的水仙花数(各位数字立方之和等于数本身的三位整数)并输出

    //11. 求出所有的水仙花数(各位数字立方之和等于数本身的三位整数)并输出。 public class Demo...

  • 算法题目-水仙花数

    题目: 打印出所有的水仙花数 水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变...

  • 使用Python,求某个范围以内的"水仙花数"

    某位小朋友可能在刷题的原因,突然问我,怎么求出某个范围内的水仙花数,比如1000以内的水仙花数有几个,又分别是什么...

  • 水仙花

    打印出100-999所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153...

网友评论

      本文标题:Java案例-求出所有的水仙花数

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