万能百科  > 计算机   > 

[问答题] 下面的程序是求9999以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如28=1+2+4+7+14就是一个

2021-07-20   

[问答题] 下面的程序是求9999以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如28=1+2+4+7+14就是一个完全数。请在程序的每条横线处填写一个语句,使程序的功能完整。

注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

源程序文件代码清单如下:

public class QuanShu

public static void main(String args[])

for (int n=1;n<9999; n++)

if(______)

System.out.println (n);

public static int psum(int n)

//该方法功能是求一个数的所有约数

int s=0;

for (int i=1; i<n; i++)

if(______)

______

return s;

正确答案:

n==psum(n)n%i==0s+=i;

参考解析:

本题考查for循环语句、求余运算符(%)和Java语言方法的使用。解答本题的关键是熟练使用for循环语句。在本题中, if(n==psum(n))语句是用来调用psum(n)方法(其中n为方法的实际参数)和判断某个自然数是否为完全数。n%i==0是用来判断数n是否能被数i整除,s+=i是用来累加某个自然数的所有约数。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签