/**
* @ClassName: Que03
* @Description:
* ●题目:求1-100之间,有哪些数是完数。
* 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
* 例如:6=1+2+3
* ●考点:流程控制、运算符
* @Author: Wanglt
* @CreateDate: 2020年2月25日
*
*/
public class Que04 {
public static void main(String[] args) {
int front = 1;
int back = 100;
System.out.println("一共" + getSum(front, back) + "个");
}
/**
* 获取完数数量(范围[front, back])
*
* @param front
* @param back
* @return
*/
public static Integer getSum(int front, int back) {
if (front < 1 || back < front) {
return -1;
}
int count = 0;
for (int i = front; i <= back; i++) {
if (judge(i)) {
System.out.println(i + "是完数");
count++;
}
}
return count;
}
/**
* @param i
* @return
*/
private static boolean judge(int num) {
if (num < 0) {
return false;
}
boolean flag = false;
int sum = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
if (sum == num) {
flag = true;
}
return flag;
}
}
完美数
最新推荐文章于 2022-05-21 05:00:00 发布