看到标题java实现水仙花数,首先先要知道什么是水仙花数,具体了解一下
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
列如153=1*1*1+5*5*5+3*3*3 那么153就是水仙花数,首先是分析需要的功能,首先他是一个3位数。
那值一定在100-1000之间,必定要用到循环。可用for循环,while循环,do while 循环,其次是它需要满足条件
“其各位数字立方和等于该数”,那么我们必须把他的各位的数字取出。我们在循环里做判断,当数满足条件就将这个数取出。
那么可做出如下流程图。
根据流程图,可得如下代码。代码几种循环的方法都用的了。
package com.tjgx.lxb; /*要求:100--1000的水仙花数 * 水仙花定义:水仙花数”是指一个三位数,其各位数字立方和等于该数 * **/ public class Daffodils { public static void main(String[] args) { System.out.println("用dowhile循环方法"); demo1(); System.out.println("用for循环方法"); demo2(); System.out.println("用while循环方法"); demo3(); } //用dowhile 循环来做 public static void demo1() { int i=100; do{ int g=i%10; //取出个位数 int s=i/10%10; //取出十位数 int b=i/100; //取出百位数 if(g*g*g+s*s*s+b*b*b==i) { System.out.println(i+"是水仙花数"); } i++; }while(i<1000); } //用for循环来做 public static void demo2() { for(int j=100;j<1000;j++) { int g=j%10; //取出个位数 int s=j/10%10; //取出十位数 int b=j/100; //取出百位数 if(g*g*g+s*s*s+b*b*b==j) { System.out.println(j+"是水仙花数"); } } } //用while循环来做 public static void demo3() { int k=100; while(k<1000) { int g=k%10; //取出个位数 int s=k/10%10; //取出十位数 int b=k/100; //取出百位数 if(g*g*g+s*s*s+b*b*b==k) { System.out.println(k+"是水仙花数"); } k++; } } }
运行结果如下图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java三种求水仙花数的方法,包括了Java三种求水仙花数的方法的使用技巧和注意事项,需要的朋友参考一下 水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数 注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位 普通for循环: while循环: do-w
本文向大家介绍Java求10到100000之间的水仙花数算法示例,包括了Java求10到100000之间的水仙花数算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java求10到100000之间的水仙花数算法。分享给大家供大家参考,具体如下: 水仙花数: 概念:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3
本文向大家介绍Java学习-打印1-1000以内的水仙花数代码实例,包括了Java学习-打印1-1000以内的水仙花数代码实例的使用技巧和注意事项,需要的朋友参考一下 水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数 注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百
本文向大家介绍JS判断一个数是否是水仙花数,包括了JS判断一个数是否是水仙花数的使用技巧和注意事项,需要的朋友参考一下 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。 例如:1^3 + 5^3+ 3^3 = 153 以上所述是小编给大家介绍的JS判断一个数是否是水仙花数,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
c#的三重循环查找水仙花数,但是结果闪退 尝试加了许多,console.readline();但是结果始终是闪退
本文向大家介绍Java实现雪花算法(snowflake),包括了Java实现雪花算法(snowflake)的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了Java实现雪花算法(snowflake),分享给大家,具体如下: 简单描述 最高位是符号位,始终为0,不可用。 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。注意,41位时