阅读以下说明、Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 本程序输出10000之内的所有完全数。完全数是指等于其所有因子和(包括1,但不包括这个数本身)的数。例如:6=1×2×3,6=1+2+3,则6是一个完全数。 【

admin2012-12-10  20

问题 阅读以下说明、Java代码,将应填入(n)处的字句写在对应栏内。
    【说明】
   本程序输出10000之内的所有完全数。完全数是指等于其所有因子和(包括1,但不包括这个数本身)的数。例如:6=1×2×3,6=1+2+3,则6是一个完全数。
   【程序】
   public class PerfectNum
   {
   Public static void main(String args[])
   {
       int count=1;
       for(int i=1; i<10000; i++)
       {
            int y=0;
            for(int j=1; j<i; j++)
                if((1))
                    y=(2)  
            if((3))
            {
                System.out.print(  (4)  +String.valueOf(’\t’));
                 (5)  
                If(count%3==0)
                    System.out.printin();
            }
       }   
   }

选项

答案(1)i%j==0 (2)y+j; (3)y==i (4)i (5)count++;

解析 本题考查用Java语言的语法、结构及算法的具体实现。
 题目要求我们输出10000之内的所有完全数,而完全数是指等于其所有因子和数。要想求出1到10000中的所有完全数,我们需要从1开始对每个数进行求解,在判断一个数是否是完全数时,首先要求出其所有因子,再求其因子的和,从而通过判断因子的和与该数是否相等来确定该数是否为完全数。一个数的因子是指能被该数整除的数。
   下面我们来看代码,定义了一个类PerfectNum来实现输出10000之内的所有完全数。在类中有一个主入口函数,在函数体中首先声明了一个整型变量count并赋初值1,接下来是一个循环语句,其作用是用来对从1到10000之间的数逐个求解。在这个循环体里面又有一个循环,结合我们的分析和程序来看,此循环的功能是求得每个数的所有因子并计算其和,第(1)空就是在这个循环体下面,是一个条件语句的判断条件,其作用是判断变量i中的数值是否是变量i中数的因子,判断是否是因子的方法是取余,看结果是否为0。因此,第(1)空的答案是i%j==0。
   第(2)空是紧接着第(1)空来的,如果变量i中的数值是变量i中数的因子,则执行此空,那肯定是对因子求和,其和存放在变量y中,那么此空答案是y+1。
   第(3)空也是一个条件语句的判断条件,结合后面的程序,我们可以知道,此处是判断该数因子的和是否等于该数,如果是,则执行后面的输出语句:不是,则进入下一个循环。因此,此空答案是y==i。
   第(4)空在输出语句中,这考查我们对Java语言中输出语句的熟悉情况,如果熟悉的话,此空很简单,答案是i或y。
   第(5)空是用来记录从1到10000之间完全数的个数,有一个记录的变量count,在每次输出一个完全数后只要我们对变量count加1即可。因此,此空答案为count++。
转载请注明原文地址:https://kaotiyun.com/show/a6jZ777K
0

相关试题推荐
最新回复(0)