[问答题] 下面的程序是10000以内的“相亲数”。所谓相亲数是指这样的一对数:甲数的约数之和等于乙数,而乙数的约数等于甲数,(例如220和284是一对相亲数)
2021-07-20
[问答题] 下面的程序是10000以内的“相亲数”。所谓相亲数是指这样的一对数:甲数的约数之和等于乙数,而乙数的约数等于甲数,(例如220和284是一对相亲数)请在程序的每条横线处填写一条语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class QinShu
public static void main(String args[ ])
for(int n=1;n<9999;n++)
int s=psum(n);
if()
System.out.println(n+","+s);
public static int psum(int n)//该方法的功能是求一个数的所有约数
int s=0;
for(int i=1;____________________i++)
if(____________________)s+=i;
return s;
正确答案:
n<s&&psum(s)==n i<n; n%i==0
参考解析:本题主要考查for循环语句、逻辑与运算符(&&)和求余运算符(%)。解答本题的关键是熟悉使用for循环语句。在本题中, if(n<s&&psum(s)==n)语句是用来调用psum(n)方法(其中n为方法的实际参数)和判断某个自然数是否为“完全数”。for(int i=1;i<n;i++)循环语句是用来控制被判断的数是否为“相亲数”。if(n%i==0)语句是用来判断数n是否能被数i整除。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
