Java函数题目完数

Java函数题目完数

题目内容:
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
现在,你要写一个程序,读入两个正整数n和m(1<=n

import java.util.Scanner;
public class  Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
        boolean flag = false;
        for(int i = n;i <= m;i++ )
        {
            if(isWanshu(i))
            {
                if (flag == true)
                {
                    System.out.print(" "+i);
                }
                else
                {
                    System.out.print(i);
                }
                flag = true;
            }
        }
        if (flag==false)
        {
            System.out.println();
        }

        }

    public static boolean isWanshu(int n){
        int sum = 0;
        for(int i=1;i<n;i++)
        {
            if (n%i==0)
            {
                sum = sum + i;
            }
        }
        if (sum==n)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

}

这道题主要也是考察函数的用法,加了一个布尔变量用于判断是否是第一个(第一个数前面不加空格),总之要注意一下输出格式。

猜你喜欢

转载自blog.csdn.net/generalli95/article/details/80501623