21xrx.com
2024-12-22 22:19:30 Sunday
登录
文章检索 我的文章 写文章
Java实验:完数的探究及结论
2023-07-04 13:06:05 深夜i     --     --
Java 实验 完数 探究 结论

什么是完数?完数是指一个数恰好等于它的所有因数之和,例如6是一个完数,因为6=1+2+3。

本次实验的目的是探究一些数字是否为完数,并得出结论。

首先,我们需要通过Java编写一个程序来验证数字是否是完数,以下是示例代码:

import java.util.Scanner;

public class PerfectNumber {

  public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.print("请输入一个正整数:");

    int number = input.nextInt();

    int sum = 0;

    for (int i = 1; i < number; i++) {

      if (number % i == 0) {

        sum += i;

      }

    }

    if (sum == number) {

      System.out.println(number + "是完数。");

    } else {

      System.out.println(number + "不是完数。");

    }

  }

}

我们通过用户输入一个数,然后对该数的因数进行累加,如果累加结果等于该数,那么该数就是完数。

我们运行程序测试一些数字,如6、28、496、8128等,结果均显示它们是完数。

我们可以得出结论:如果一个数的所有因数之和等于该数本身,那么该数就是完数。

最后,我们可以通过修改程序,找出1000以内的所有完数,并输出结果,如下所示:

import java.util.ArrayList;

public class PerfectNumber2 {

  public static void main(String[] args) {

    for (int i = 1; i <= 1000; i++) {

      if (isPerfectNumber(i)) {

        System.out.print(i + " ");

      }

    }

  }

  public static boolean isPerfectNumber(int number) {

    int sum = 0;

    for (int i = 1; i < number; i++) {

      if (number % i == 0) {

        sum += i;

      }

    }

    if (sum == number)

      return true;

     else

      return false;

  }

}

运行程序,我们可以看到输出了几个数字,它们全部是完数。

总结:通过本次实验,我们深入了解了什么是完数,掌握了Java编写程序验证数字是否为完数的方法,并最终找出1000以内的所有完数。这对于我们学习和应用数学知识非常有帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复