分享

获得所有四叶玫瑰数

 算法与编程之美 2025-02-11 发布于四川

1 问题

用java找出1000到9999中的所有四叶玫瑰数。

2 方法

  1. 获得所有的四位数,1000到9999 使用for循环;

  2. 求出各个位上的数字;

  3. 计算各个位上的四次方并相加;

  4. 判断四次方的和是否等于该数,再输出结果;

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

public class Lianxi{
   public static void main(String[] args){
       for(int i = 1000;i<=9999;i++){  //取四位数的数字
           int a =i % 10;
           int b =i / 10 % 10;  //使十位变成个位,再求余数
           int c =i / 100 % 10;  //使百位变成个位,再求余数
           int d =i / 1000;
           int f =a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d;
//使个位十位百位千位上的数的四次方相加
           if (f == i){
               System.out.println(i);
//得结果为1634,8208,9474
           }
       }
   }
}

3 结语

针对找出所有的四叶玫瑰数的问题,该代码使用了for循环在1000至9999之间循环找出了所有的四位数,for循环语句是一种高效灵活的循环结构,它可以重复执行一段代码块,实现对一组数据的操作。然后再/(除),%(取模)找出各个位上的数字。使用if条件语句判断该数是否等于各个位上四次方的和,if条件语句,用于根据条件判断是否执行某段代码,if语句有三种形式:简单的if语句、if-else语句和if-else if语句。解决本文问题,我采取了较为简便的方法,以后我还会去学习,并用更多的方法去解决问题。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多