练习-Java循环for之求完数

任务描述

本关任务:判断给定的一个整数是否是完数。

完数的定义:一个数如果恰好等于它的因子之和(本身除外),这个数就称为完数。例如数字 6,其因子为 1,2,3,6(本身除外),满足1+2+3=6,所以 6 是完数。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

/*
任务:接收一个整数,判断该数是否是完数。
完数的定义:一个数如果恰好等于它的因子之和(本身除外),这个数就称为完数。
例如数字6,其因子为1,2,3,6(本身除外),满足1+2+3=6,所以这个数为完数。
如果是完数,请输出:x是完数
如果不是完数,请输出:x不是完数
具体输出样式见预期输出。
*/

import java.util.Scanner;

public class ForTest {
    public static void main(String[] args) {
        // 定义变量sum,用于求因子的和,并赋初值为0
        int sum=0;
        // 创建Scanner对象
        Scanner input = new Scanner(System.in);
        // 获取输入值
        int x = input.nextInt();
        // 请在 Begin-End 间编写代码

        /********** Begin **********/
        // 第一步:使用for循环判断获取的整数是否为完数
        for(int j = 1; j < x; ++j){
            if(x % j == 0)
                sum += j;
            }      
        // 第二步:如果是完数,请输出x是完数
        if(x == sum){
            System.out.print(x+"是完数");
        }         
        // 第三步:如果不是,请输出x不是完数
        else{
            System.out.print(x+"不是完数");
        }
        /********** End **********/

    }
}

猜你喜欢

转载自blog.csdn.net/qq_53149358/article/details/121193125