華爲機試題——徹底數判斷

 

  這篇博文同上篇博文百度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;
    }
}
相關文章
相關標籤/搜索