如题:完数的java实现
完数定义:完数也叫完美数,如果一个数除本身之外的所有因子之和等于它本身,则这个数就是完数
思路:定义个变量存因子之和
嵌套循环,外循环设置循环的数,即循环次数,内循环使每个数得到判断
内循环中,对每个获得数取余若等于0,则这个数是外循环数的因子,因子之和加上这个因子
内循环结束,在外循环进行判断,若因子之和等于这个数则输出
public static void main(String[] args) {
int sum = 0;// 定义一个变量存因子之和
// 若一个数等于其他因子之和则这个数是完数
for (int i = 1; i < 1000; i++) {
sum = 0;// 每次循环初始化sum
// 外循环得到1-1000之间的每个数
for (int j = 1; j < i; j++) {
// 内循环对这个数求因子,并判断这个数是否为完数
if (i%j == 0) {
sum = sum + j;
}
}
if (sum == i) {
System.out.println(i + "是完数");
}
}
}