下面的程序是10000以内的“相亲数”。所谓相亲数是指这样的一对数:甲数的约数之和等于乙数,而乙数的约数等于甲数,(例如220和284是一对相亲数)请在程序的每条横线处填写一条语句,使程序的功能完整。 注意:请勿改动main()主方法和其他已有的语句

admin2013-02-25  31

问题 下面的程序是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整除。
转载请注明原文地址:https://jikaoti.com/ti/Cf80FFFM
0

最新回复(0)