//这个方法调用计算因子的方法 public static void qms(){ for(int i = 1; i<=3000; i++){ int b = sumAllFact(i); // i的因子和为b int a = sumAllFact(b); // b的因子和为a //分析:如果a == i,意味着a的因子和为b, //b的因子和为a,满足亲密数的要求 //同时,为了避免重复解,要求a < b if (a < b && a==i){ System.out.println(a + " " + b); } } } //计算因子和的函数 public static int sumAllFact(int e){ int sum = 0; for(int i = 1; i<=e/2; i++){ if (e % i == 0) { sum += i; } } return sum; }
求3000以内的亲密数
最新推荐文章于 2022-04-10 13:44:41 发布