• 完数——mooc《零基础学Java语言》-(浙大翁凯)第七周编程题(2)


    题目内容:

    一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。

    现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数。

    提示:可以写一个函数来判断某个数是否是完数。

    输入格式:

    两个正整数,以空格分隔。

    输出格式:

    其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一个空行。

    输入样例:

    1 10

    输出样例:

    6

    时间限制:500ms内存限制:32000kb
     
    代码实现:
    /*
     * 完数(5分)
    题目内容:
    一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
    现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数。
    
    提示:可以写一个函数来判断某个数是否是完数。
    
    输入格式:
    两个正整数,以空格分隔。
    
    输出格式:
    其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一个空行。
    
    输入样例:
    1 10
    
    输出样例:
    6
    
    时间限制:500ms内存限制:32000kb
     */
    import java.util.Scanner;
    
    public class 完数 {
        public static boolean iswanshu(int i)//判断是否是完数的函数
        {
            boolean iswanshu=false;
            int count=0;
            int[] array=new int[i];
            for(int j=1;j<i;j++) 
            {
                if(i%j==0) 
                {
                    array[count]=j;
                    count++;
                }
            }
            int sum=0;
            for(int k=0;k<array.length;k++) 
            {
                sum+=array[k];
    //            if(i==sum)
    //            {
    //                iswanshu=true;
    //            }
            }
            if(i==sum)
            {
                iswanshu=true;
            }
            return iswanshu;
        }
    
        public static void main(String[] args) 
        {
            // TODO Auto-generated method stub
            Scanner in=new Scanner(System.in);
            int a=in.nextInt();
            int b=in.nextInt();
            int isFirstOut=0;
            for(int i=a;i<=b;i++) //使用这一段程序可以避免最后一个完数后面出现空格的情况
            {
                if(iswanshu(i)) 
                {
                    if(isFirstOut==1) //使用这一段程序可以避免最后一个完数后面出现空格的情况,当出现第一个完数时,前面无空格,
                    {                 //中间有空格,到最后一个完数时,刚好避免空格
                        System.out.print(" ");
                    }
                    isFirstOut=1;
                    System.out.print(i);
                }
            }
            if(isFirstOut==0) 
            {
                System.out.println();
            }
    
        }
    
    }
    吾生也有涯,而知也无涯
  • 相关阅读:
    hibernateValidator 升级
    java异常
    reids过期键三种删除策略
    hashmap源码探究
    http知识梳理1
    GregorianCalendar类的使用
    计算机网络笔记
    List的toArray方法
    实习周记一
    vue指令详解
  • 原文地址:https://www.cnblogs.com/daimasanjiaomao/p/10939297.html
Copyright © 2020-2023  润新知