编写一个自定义函数判断某整数是否为完数,调用该函数输出1000以内所有的完数。完数:一个整数它的所有真
答案:3 悬赏:0
解决时间 2022-01-01 22:32
- 提问者网友:萌萌小主
- 2021-12-31 23:48
编写一个自定义函数判断某整数是否为完数,调用该函数输出1000以内所有的完数。完数:一个整数它的所有真
最佳答案
- 二级知识专家网友:浪女动了心
- 2022-01-01 01:23
function wan(n)
for m=1:n
s=0;
for k=1:m/2
if rem(m,k)==0
s=s+k;
end
end
if m==s
disp(m);
end
end
>> wan(1000)
6
28
496
选自教材:MATLAB语言及应用案例,详情见以下网址
http://bbs.seu.edu.cn/pc/pccon.php?id=950&nid=16737
for m=1:n
s=0;
for k=1:m/2
if rem(m,k)==0
s=s+k;
end
end
if m==s
disp(m);
end
end
>> wan(1000)
6
28
496
选自教材:MATLAB语言及应用案例,详情见以下网址
http://bbs.seu.edu.cn/pc/pccon.php?id=950&nid=16737
全部回答
- 1楼网友:偏爱自由
- 2022-01-01 03:58
#include
#include
int fun(int n)
{
int sum=0,i;
for(i=1;i<=sqrt(n);i++)
if(n%i==0) sum+=i+n/i;
if((int)sqrt(n)*(int)sqrt(n)==n)
sum-=sqrt(n);
if(sum-n==n)
return 1;
return 0;
}
void main()
{
int i;
for(i=2;i<1001;i++) if(fun(i)) printf("%d\n",i);
}
- 2楼网友:放肆的依賴
- 2022-01-01 02:54
public static boolean perfectNumber(int number) {
int sum = 0;
for(int i = 1;i <= number / 2; i++) {
if(number % i == 0){
sum += i;
}
}
if(number == sum){
return true;
}
return false;
}
public static void main(String[] args){
for(int i = 2;i < 1000; i++) {
if(perfectNumber(i))
System.out.println(i + "是完数");
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯