概述
判断一个数是否时水仙花数
水仙花数定义:每位数的三次方相加之和为这个数本身
方法一:计算每个位数
import java.util.*;
public class Main {
final static int max0=10000;
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int n =sc.nextInt();
//分别得到每位数
int a =n/100;
int b=n%100/10;
int c=n%10;
if(a*a*a+b*b*b+c*c*c==n) {
System.out.print("YES");
}
else
System.out.print("NO");
}
}
方法二:读入整数截取字符串的形式
import java.util.Scanner;
public class Main {
final static int max0=10000;
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int n =sc.nextInt();
//分别得到每位数
char[] c= Integer.toString(n).toCharArray();
int a=(c[0]-48)*(c[0]-48)*(c[0]-48);
int b=(c[1]-48)*(c[1]-48)*(c[1]-48);
int c1=(c[2]-48)*(c[2]-48)*(c[2]-48);
if(a+b+c1==n) {
System.out.print("YES");
}
else System.out.print("NO");
}
}
输出某个区间内的水仙花数
import java.util.*;
public class Main {
final static int max0=10000;
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int min=sc.nextInt();
int max=sc.nextInt();
int sum=0;
int[] num =new int[max0];
for(int n=min;n<=max;n++) {
int a =n/100;
int b=n%100/10;
int c=n%10;
if(a*a*a+b*b*b+c*c*c==n) {
num[sum++]=n;
}
}
if(sum==0)
System.out.print("NO");
else {
for(int i=0;i<sum;i++) {
System.out.print(num[i]);
if(i<sum-1)
System.out.print(" ");
}
}
}
}
/**
借助于数组的方法
*/
最后
以上就是敏感乌龟为你收集整理的算法-水仙花数的全部内容,希望文章能够帮你解决算法-水仙花数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复