声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1065|回复: 2

[编程技巧] 请教一下这个程序是什么意思,尤其是最里面的那个if循环

[复制链接]
发表于 2010-9-10 15:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
for m=1:500
s=0;
for k=1:m/2
if rem(m,k)==0
s=s+k;
end
end
if m==s
    disp(m);
end
end
回复
分享到:

使用道具 举报

发表于 2010-9-10 16:05 | 显示全部楼层
本帖最后由 coohit 于 2016-9-14 11:29 编辑

这就是找到完全数:
来自:百度百科简介  
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数:
   
自然数概念

它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
举例  例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。后面的数是496、8128等等。

  例如:

  6=1+2+3

  28=1+2+4+7+14

  496=1+2+4+8+16+31+62+124+248

  8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
关于这一点:我写过一些程序:
比如:
  1. a=1:14;
  2. c=(2.^a(isprime(2.^a-1))-1).*2.^(a(isprime(2.^a-1))-1)
复制代码
想深入可以看我另一个帖子:http://forum.vibunion.com/forum. ... p;page=1&extra=

评分

1

查看全部评分

 楼主| 发表于 2010-9-10 17:38 | 显示全部楼层
谢谢高手指点啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-30 17:24 , Processed in 0.052976 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表