前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java案例-水仙花数(最后扩展更实用)

Java案例-水仙花数(最后扩展更实用)

作者头像
Java帮帮
发布2018-03-19 16:36:36
9430
发布2018-03-19 16:36:36
举报

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)

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>

<body>

<script type="text/javascript">

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 + '<br/>');

}

}

</script>

</body>

</html>

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档