自守数: public class AutomorphicNum { public static void main(String[] args) { for(int i=1;i<=999;i++) judge(i); } public static void judge(long n) { int bit = getBit(n); long mod = (long) Math.pow(10, bit); if(((n*n-n)%mod)==0) System.out.println(n*n+" "+n); } private static int getBit(long n) { int bit = 0; while(n!=0) { n=n/10; bit++; } return bit; } } 亲密数 public class FriendNum { public static void main(String[] args) { int count1=0; int count2=0; int[] fac1; int[] fac2; int sum1 ; int sum2 ; for(int num=1;num<10000;num++) { sum1 = 0; sum2 = 0; count1 = 0; count2 = 0; fac1 = new int[100]; fac2 = new int[100]; for(int i=1;i<=num/2;i++) { if(num%i==0) { fac1[count1++] = i; sum1+=i; } } for(int i=1;i<=sum1/2;i++) { if(sum1%i==0) { fac2[count2++] = i; sum2+=i; } } if(sum2==num&&num>sum1) { System.out.print(sum1+" = "); for(int i=0;i<count1-1;i++) System.out.print(fac1[i]+" + "); System.out.print(fac1[count1-1]); System.out.print("/t"); System.out.print(num+" = "); for(int i=0;i<count2-1;i++) System.out.print(fac2[i]+" + "); System.out.println(fac2[count2-1]); } } } } 完美数 public class PerfectNum { public static void main(String[] args) { int[] factor = new int[500]; int count = 0; int sum; for(int num=1;num<=100000;num++) { count = 0; sum = num; for(int i=1;i<=num/2;i++) { if(num%i==0) { sum -=i; factor[count++] = i; } } if(sum==0) { System.out.print(num+ " = "); for(int j=0;j<count-1;j++) { System.out.print(factor[j]+" + "); } System.out.println(factor[count-1]); } } } }