求水仙花数与玫瑰花数小案例(Java)

    技术2022-07-11  87

    求100-999之间的水仙花数与1000-9999之间的玫瑰花数

    水仙花数:一个三位数,个位数的三次方与十位数的三次方,百位数的三次方的和等于这个三位数;玫瑰花数:一个四位数,个位数的四次方与十位数的四次方,百位数的四次方,千位数的四次方的和等于这个四位数; public class ShuiXianHua { //水仙花数 public static void main(String[] args) { for(int i =100;i<1000;i++) { int a = i/100; int b = i%100/10; int c = i%10; int sum = a*a*a+b*b*b+c*c*c; if(sum ==i){ System.out.println(i); } } } }

    运行结果

    public class MeiGuiHua { public static void main(String[] args) { //四叶玫瑰数 int sum1=0; for(int i = 1000;i < 10000;i++) { int a = i/1000; int b = i%1000/100; int c = i%100/10; int d = i%10; int sum = a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d; if(i == sum) { System.out.println(i); sum1++; } } System.out.println("1-1000的玫瑰花数有"+sum1+"个"); } }

    运行结果

    Processed: 0.012, SQL: 9