华为机试题——彻底数判断

 

  这篇博文同上篇博文百度2017年暑期实习生笔试题——单词接龙同属2016中兴捧月蓝剑之路挑战赛初赛模拟测试题,相比前一题难度偏低,非恶意灌水,仅为保证该系列博文的完整性。html

 

  题目来源:iNOC产品部--彻底数计算测试

  这道题同时也是2016中兴捧月蓝剑之路挑战赛初赛模拟测试题,问题描述以下图:spa

 

  测试用例以下图:code

 

  中兴的比赛中官方已经为咱们实现了主程序,只须要咱们本身实现PerfectNumber类的perfectNumberCheck方法便可,而华为iNOC产品部机试题是要统计出所给范围内彻底数的个数,比中兴的模拟题稍复杂,以此为准,Java实现的源码以下:htm

 

package perfectnumber;

public class Main 
{

    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext())
        {
            int n = scan.nextInt();
            int sum = 0;
            for(int i = 1; i <= n; i++)
            {
                if(PerfectNumber.perfectNumberCheck(i) == 1)
                    sum++;
            }
            System.out.println(sum);
            
        }
        scan.close();
    }
    
}

class PerfectNumber {

    public static int perfectNumberCheck(int n)
    {
        int sum = 0;
        for(int i = 1; i < n; i++)
        {
            if(n % i == 0)
                sum += i;
        }
        if(sum == n)
            return 1;
        else
            return 0;
    }
}
相关文章
相关标签/搜索