/**
* 一个数如果恰好等于它的因子之和,这个数就称为"完数"。
* 例如6=1+2+3。查找出所有大于1小于等于整数m(m < 10000)的完数。
* 例如,若输入:1000,则应输出:6 28 496。
*/
import java.util.Scanner;
public class SearchWanShu {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int num=in.nextInt();
new SearchWanShu().search(num);
in.close();
}
public void search(int num){
if(num<=10000&&num>1){
for(int i=2;i<num;i++){
int he=0;
for(int j=i-1;j>=1;j--){
if(i%j==0){
he+=j;
}
}
if(i==he){
System.out.print(i+" ");
}
}
}
else{
System.out.println("error");
}
}
}
* 一个数如果恰好等于它的因子之和,这个数就称为"完数"。
* 例如6=1+2+3。查找出所有大于1小于等于整数m(m < 10000)的完数。
* 例如,若输入:1000,则应输出:6 28 496。
*/
import java.util.Scanner;
public class SearchWanShu {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int num=in.nextInt();
new SearchWanShu().search(num);
in.close();
}
public void search(int num){
if(num<=10000&&num>1){
for(int i=2;i<num;i++){
int he=0;
for(int j=i-1;j>=1;j--){
if(i%j==0){
he+=j;
}
}
if(i==he){
System.out.print(i+" ");
}
}
}
else{
System.out.println("error");
}
}
}
本文介绍了一个用于查找所有大于1且小于等于给定整数m(m<10000)范围内的完数的Java程序。完数是指一个数恰好等于其因子之和的情况,例如6=1+2+3。程序通过双重循环来验证每个数是否为完数,并打印出所有的完数。
582

被折叠的 条评论
为什么被折叠?



