Java求1到1000以内的完数

来源:互联网 发布:帝王三国单机无需网络 编辑:程序博客网 时间:2024/06/06 02:02
/* 求1到1000以内的完数 所谓的完数是指一个数恰好等于它的所有因子之和 例如:6=1+2+3 */public class PerfectNumber {public static void main(String[] args) {System.out.print("1到1000的完数有: ");fun();// 调用静态方法}/* * 要在main()方法中调用fun()方法, 那么fun()方法必须为static型的 */public static void fun() {for (int i = 1; i <= 1000; i++) {int temp = 0;// 定义因子之和变量for (int n = 1; n < i / 2 + 1; n++) {if (i % n == 0) {temp += n;// 能被整除的除数则被加到temp中}}if (temp == i) {// 如果因子之和与原数相等的话,说明是完数System.out.print(i + " ");// 输出完数}}}}

原创粉丝点击