java计算自幂数和水仙花数
(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)
n为1时,自幂数称为独身数。
n为2时,没有自幂数。
n为3时,自幂数称为水仙花数。
n为4时,自幂数称为玫瑰花数。
n为5时,自幂数称为五角星数。
n为6时,自幂数称为六合数。
n为7时,自幂数称为北斗七星数。
n为8时,自幂数称为八仙数。
n为9时,自幂数称为九九重阳数。
n为10时,自幂数称为十全十美数。
/*
* 自幂数
* 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
* (例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)
*/
import java.util.Scanner;
public class 自幂数 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入您所要查的自幂数位数:");
int n = input.nextInt();// 接收数字位数
// 定义一数字number,从10^(n-1)开始自加,到10^n结束
switch (n) {
case 1:
System.out.println("独身数:");
System.out.print("0" + "\t");
break;
case 2:
System.out.println("两位自幂数:");
System.out.println("没有自幂数!");
break;
case 3:
System.out.println("水仙花数:");
break;
case 4:
System.out.println("玫瑰花数:");
break;
case 5:
System.out.println("五角星数:");
break;
case 6:
System.out.println("六合数:");
break;
case 7:
System.out.println("北斗七星数:");
break;
case 8:
System.out.println("八仙数:");
break;
case 9:
System.out.println("九九重阳数:");
break;
case 10:
System.out.println("十全十美数:");
break;
default:
System.out.println("其它自幂数:");
break;
}
for (int number = (int) Math.pow(10, n - 1); number < Math.pow(10, n); number++) {
// 判断条件:数字number的位数为n
if (String.valueOf(number).length() == n) {
double num = 0;
for (int i = 0; i < n; i++) {
int temp = (int) (number / Math.pow(10, i)) % 10;
num += Math.pow(temp, n);
}
if (number == num) {
System.out.print(number + "\t");
}
}
}
input.close();
}
}
上一篇:Java 中 String,StringBuffer 和 StringBuilder 的区别及用法
栏 目:JAVA代码
下一篇:Mybatis参数传递示例代码
本文标题:java计算自幂数和水仙花数
本文地址:http://www.codeinn.net/misctech/42260.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




