[问答题] 下面的程序是10000以内的“相亲数”。所谓相亲数是指这样的一对数:甲数的约数之和等于乙数,而乙数的约数等于甲数,(例如220和284是一对相亲数)请在程序的每条横线处填写一条语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class QinShu
public static void main(String args[ ])
for(int n=1;n<9999;n++)
int s=divsum(n);
if()
System.out.println(n+","+s);
public static int divsum(int n)//该方法的功能是求一个数的所有约数
int s=0;
for(int i=1;____________________i++)
if(____________________)s+=i;
return s;
正确答案:
n<s&&divsum(s)==n i<n; n%i==0
参考解析:本题主要考查for循环语句、逻辑与运算符(&&)和求余运算符(%)。解答本题的关键是熟悉使用for循环语句。在本题中, if(n<s&&divsum(s)==n)语句是用来调用divsum(n)方法(其中n为方法的实际参数)和判断某个自然数是否为“完全数”。for(int i=1;i<n;i++)循环语句是用来控制被判断的数是否为“相亲数”。if(n%i==0)语句是用来判断数n是否能被数i整除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)