求n以内的亲密数对(Java编程),输入输出样例已有
求n以内的亲密数对(Java编程),输入输出样例已有问题描述如果A的全部真因子(包括1,不包括A自身)之和等于B,且B的全部真因子(包括1,不包括B自身)之和等于A,且A...
求n以内的亲密数对(Java编程),输入输出样例已有问题描述
如果A的全部真因子(包括1,不包括A自身)之和等于B,且B的全部真因子(包括1,不包括B自身)之和等于A,且A不等于B,则称整数A和B为一对亲密数。
找出n以内的所有真因子对。
输入说明
一个正整数n。
输出说明
真因子对,每一对占一行,每一对真因子用一个逗号隔开。
输入样例
3000
输出样例
220,284
1184,1210
2620,2924 展开
如果A的全部真因子(包括1,不包括A自身)之和等于B,且B的全部真因子(包括1,不包括B自身)之和等于A,且A不等于B,则称整数A和B为一对亲密数。
找出n以内的所有真因子对。
输入说明
一个正整数n。
输出说明
真因子对,每一对占一行,每一对真因子用一个逗号隔开。
输入样例
3000
输出样例
220,284
1184,1210
2620,2924 展开
1个回答
展开全部
按照你的要求编写的求n以内的亲密数对的Java程序如下
import java.util.Scanner;
public class CCC {
public static void main(String[] args) {
int a,b,i,n,num;
System.out.println("请输入一个正整数");
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
for(a=1;a<n;a++)
{
for(b=0,i=1;i<=a/2;i++)
if(a%i==0) b+=i;
for(num=0,i=1;i<=b/2;i++)
if(b%i==0) num+=i;
if(num==a && a<b)
System.out.println(a+","+b);
}
}
}
运行结果
请输入一个正整数
3000
220,284
1184,1210
2620,2924
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询