您的位置:首页 > 编程语言 > Java开发

亲密数

2017-04-09 10:39 197 查看
/**
*   亲密数 假设有a,b两个数,若a的所有因子之和等于b,b的所有因子之和

        等于a,并且a不等于b,则称a和b是一对亲密数
*/
int b1,b2,count,a,i;
int g1[]=new int[1000],g2[]=new int[1000];
//Scanner scanner=new Scanner(System.in);
//int m=scanner.nextInt();
for(a=1;a<1000;a++){
for(i=0;i<1000;i++)
g1[i]=g2[i]=0;
count=0;//数组下标
b1=0;//累加和
for(i=1;i<a/2+1;i++){
if(a%i==0){
g1[count++]=i;
b1+=i;
}
}
count=0;
b2=0;
for(i=1;i<b1/2+1;i++){
g2[count++]=i;
b2+=i;
}

if(b2==a && a<b1){
System.out.println("两个亲密数分别是: "+a+" "+b1);
count=1;
while(g1[count]>0){
System.out.println(g1[count]);
count++;
}
count=1;
while(g2[count]>0){
System.out.println(g2[count]);
count++;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 亲密数 Java