1 问题 用java找出1000到9999中的所有四叶玫瑰数。 2 方法 获得所有的四位数,1000到9999 使用for循环; 求出各个位上的数字; 计算各个位上的四次方并相加; 判断四次方的和是否等于该数,再输出结果;
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。 代码清单 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语句。解决本文问题,我采取了较为简便的方法,以后我还会去学习,并用更多的方法去解决问题。
|