| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:(求助)一个关于完数的程序
只看楼主 加入收藏
Amie
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-8
收藏
 问题点数:0 回复次数:7 
(求助)一个关于完数的程序
一个数如果等于它的因子之和则称这个数为完数,如6=1+2+3,则6为一个完数。编写一个C程序,求出1-----1000之间的所有完数。哪位高手帮帮我啊,多谢啦!!
2006-03-08 17:13
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
记得以前有过关于这个的贴子,搜索一下.

2006-03-08 18:20
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
#include <stdio.h>
main ()
{
int i,j,sum;

for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
if (i/j*j==i) sum+=j;
if (sum==i)
printf("%d\t",i);
}
}
这个是用c写的不过很容易改成c++我就不改了
算法一样给你参考一下下

自强不息:)
2006-03-08 20:28
giant
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-11
收藏
得分:0 
以下是引用wanglff在2006-3-8 20:28:00的发言:
#include <stdio.h>
main ()
{
int i,j,sum;

for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
if (i/j*j==i) //i/j*j==i;这个表达式是一直正确的,所以把这句去掉,可结果只输出了一个6,这句到底有什么作用,为什么非加不可呢?
sum+=j;
if (sum==i)
printf("%d\t",i);
}
}
这个是用c写的不过很容易改成c++我就不改了
算法一样给你参考一下下


2006-03-08 22:05
jiangjian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-3-9
收藏
得分:0 

以下是引用wanglff在2006-3-8 20:28:00的发言:
#include <stdio.h>
main ()
{
int i,j,sum;

for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
if (i/j*j==i) //“i/j*j==i;这个表达式是一直正确的”,谁告诉你一直正确的,i/j是整除取商的意思,如果j不能整除i的话,结果返回商值,余数被截除了,所以i/j*j==i表示的是j能够整除i,j是i的因子,这是判断条件,怎么能够删除呢//
if (sum==i)
printf("%d\t",i);
}
}

2006-03-09 00:47
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
jiangjian说的对

自强不息:)
2006-03-09 08:25
Amie
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-8
收藏
得分:0 
太感谢大家了,你们真的是太好了!!谢谢!!!

2006-03-09 22:04
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
收藏
得分:0 
所以i/j*j==i表示的是j能够整除i
0==i%j 不就行了么?呵呵
我以前写的,仅供参考:
void getNum(int min,int max)
{
for(int num=min,sum=1;num<=max;num++)
{
for(int r=2;r<num;r++)
{
if(num%r==0)
sum+=r;
}
if(num!=1 && num==sum)
cout<<num<<endl;
sum=1;
}
}

for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-09 22:36
快速回复:(求助)一个关于完数的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019253 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved