第1个回答 推荐于2017-09-13
下面是用JAVA写的求1000之内的完数。。。。
public class Test11 {
public static void main(String args[]){
for(int a=1;a<=1000;a++){
int sum=0;
for(int i=1;i<=a/2;i++)
if(a%i==0)
sum+=i;
if(a==sum)
System.out.println(a);
}
}
}
输出结果是:6,28,496本回答被提问者采纳
第2个回答 2018-09-20
import java.util.*;
public class four_7 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数:");
int x=in.nextInt();
int sum=1,y,i;
for(i=2;i<Math.sqrt(x);i++) {
if(x%i==0) {
y=x/i;
sum+=y+i;
}
}
if(x==sum) System.out.println(x+"是一个完全数");
else System.out.println(x+"不是一个完全数");
}
}
第3个回答 2008-04-02
import java.util.*;
public class X4_6 {
static void print(int n) {
System.out.print(n + " = 1");
for (int i = 2; i <= n/2; i++)
if (n%i == 0) System.out.print(" + " + i);
}
static boolean f(int n) {
int s = 1;
for (int i = 2; i <= n/2; i++)
if (n%i == 0) s += i;
if (n == s) return true;
else return false;
}
public static void main(String[] args) {
try
{
System.out.print(" I = ");
Scanner in = new Scanner(System.in);
int I = in.nextInt();
if(f(I)) print(I);
else System.out.println ("不是完全数");
System.out.println();
}
catch(Exception e) { System.out.println ("输入有误"); }
}
}