永发信息网

vf代码找出1000以内的10个最大的完数

答案:2  悬赏:0  手机版
解决时间 2021-03-30 12:58
vf代码找出1000以内的10个最大的完数
最佳答案
完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。
1000以内所有完数
C语言代码:
#include

#define N 1000 //完数求解范围
main()
{
int i,j,sum; //sum用来存放因子之和

for(i=1;i{
sum=0; //给sum赋值,同时也是对上一次的值清空
for(j=1;j<=i/2;j++) //查找因子
{
if(i%j==0) // 如果是因子
{
sum+=j; //把当前的因子累加到sum中
}
}
if(sum==i) //判断是不是完数,即因子之和等于自身
{
printf("%-5d its factors are: ",i); //是完数,输出
for(j=1;j<=i/2;j++) //再次找出这个完数的因子
{
if(i%j==0) //输出各个因子
printf("%d,",j);
}
printf("\n");
}
}
}
全部回答
DIME A(1000)
FOR I = 1 TO 1000
M = I
S = 0
K = 1
J = 1
DO WHILE JIF M % J = 0
S = S + J
A(K) = J
K = K + 1
ENDIF
J = J + 1
ENDDO
IF S != 0 AND S = M
J = 1
? '因子是:’
DO WHILE J < K
?? A( J ) , ' '
J = J + 1
ENDDO
? '完数是' , I
?
ENDIF
ENDFOR
在代码段从上向下看,则A是数组(数据集合),i是循环变量,m是从循环变量中依次取数用于和 j 做比较——m相当于以步长为1从1到1000、j相当于自我按照步长1来累计相加在1到1000之间(在第一个DO循环段里),s是把能够被M整除的 j 累加起来、然后如果s累加值等于m则s或m都是完数,k用于为把完数中的因子提取出来提供条件,j是因子数组的下标,当i=s=m时、i也是完数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样让出轨女人说实话 出轨女人口述情人给我
氧化锌怎么才能固化凝固
元朝哪一段运河在山东
桔梗切完淹一下再晒干可好
刚来乌鲁木齐,想问一下火宴山自助人均多少钱
江西省有哪些资质比较好的绿化工程公司?
请问可以一边喝牛奶,一边吃烧烤吗?
委托他人办理银行贷款,提供了所有信息,20天了
在中国坐火车为什么总是很多人?
绝地求生手游雨林地图什么时候更新
楼主好,我已花花.给我的帖子花花一下好吗
起凡金戈铁马是和11金戈铁马相同的么
东城国际幼儿园(绥化海伦市)地址有知道的么?
175男和168女,单从身高上来看,搭吗?男的是
硅铁粉的用途:
推荐资讯
一建经济哪个老师好一些
详解帝吧出征到底是什么原因
求耀华中学近十年高考理科前三名及成绩
某校举行学科知识竞赛,有120名学生参加,学
小腿部骚痒是怎么回事
为什么QQ2009版本下载之后安装不了
YY语音和QQ语音哪个效果更好一点
未来的我作文四百字写出我是怎么样的未来改变
看图猜体育竞速,谢谢!
怎么把接收到的无线网络再转成有线的?
我是山东人,我到了云南文山,我说话他们没人
腾讯代理的游戏有哪些游戏已经停运了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?