matlab 编写程序求完数

matlab 编写程序求完数,第1张

clc

temp=0

wanshu=0

for j=1:10000

for k=1:j-1

if mod(j,k)==0

temp=[temp k]

end

end

if j==sum(temp)

wanshu=[wanshu j]

end

temp=0

end

disp(wanshu)

答案 6 28 4968128

1、解题思路:所谓完数是一些特殊的自然数。如果一个数恰好等于它的因子之和,则称该数为“完全数”。先定义一个函数用于判断一个数是否是完数,接着依次从2到5000依次循环判断。

2、参考代码:

#include <stdio.h>

int fun(int n){//判断n是否是完数 

    int i,sum=0

    for(i=1i<ni++)

        if(n%i==0) sum+=i

    if(sum==i) return 1

    return 0

int main ()

{

    int i

    for(i=2i<5000i++)

        if(fun(i))

            printf("%d ",i)

    return 0 

}

3、运行结果:6 28 496

1、启动VB6.0,新建一个标准exe工程。

2、在窗体上绘制一个命令按钮,名称为Command1。

3、双击命令按钮进入代码窗口。

4、编写命令按钮的单击事件。

Private Sub Command1_Click()

For n = 1 To 1000

s = "" '这一句要加上

Sum = 0

For i = 1 To n / 2

If n Mod i = 0 Then

Sum = Sum + i

s = s + Str(i) + "+"

End If

Next i

If n = Sum Then

s = Left(s, Len(s) - 1)

Picture1.Print s"="n '这里 Picture1是图片框的名字

End If

Next n

End Sub

5、然后按F5运行测试,这样就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7778962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存