两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sr=new Scanner(System.in);
int g=0;
for(int a=1;a<3000;a++)
{
if(a==g)
{
continue;
}
int b=0;
for(int pd=1;pd<a;pd++)
{
if(a%pd==0)
{
b+=pd;
}
}
int c=0;
for(int pd=1;pd<b;pd++)
{
if(b%pd==0)
{
c+=pd;
}
}
if(c==a&&a!=b)
{
System.out.print("("+a+","+b+")");
g=b;
}
}
}
}
本文介绍了一个Java程序,用于找出3000以内的所有亲密数对。亲密数是指两个不同的自然数,其中一个数的所有真因子之和等于另一个数,反之亦然。程序通过遍历和计算因子和来实现这一目标。
888

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



