這篇博文同上篇博文百度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; } }