标题:编程求1000内的完数,完数指一个数恰好等于它的包括1在内的所有不同因子之和 ...
只看楼主
tiantian0623
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-4-23
 问题点数:0 回复次数:4 
编程求1000内的完数,完数指一个数恰好等于它的包括1在内的所有不同因子之和,如6=1+2+3.
编程求1000内的完数,完数指一个数恰好等于它的包括1在内的所有不同因子之和,如6=1+2+3.
搜索更多相关主题的帖子: 因子之和 
2008-04-23 22:40
yijing21
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-11-7
得分:0 
你可以去飞燕的论坛上看看  都有的  算法啊算法
2008-04-23 22:52
忘记喧嚣
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-10-7
得分:0 
#include<iostream>
using namespace std;
int main()
{

int x=0;
int y=0;
for(x=2; x<=1000; x++)
{
   int t=0;
   for(y=x-1;y>=1;y--)
   {
    if((x%y)==0)
    {
     t+=y;
    }
   }
   // cout<<"t="<<t<<endl;
if(t==x)
{
   cout<<x<<endl;
}
}

return 0;
}

以前写的呵呵 ..以后自己要多想想 很简单的
2008-04-24 13:12
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
自己整理下.
程序代码:
#include<iostream>
using namespace std;
int main(void)
{
    int num;
    while(cin>>num)
    {
        int sum = 0;
        for(int n = num,a=2;a<num;a++)
           if(n%a==0)
           {
                cout<<a<<',';
                sum+=a;
            }
        if(num!=1&&++sum==num) cout<<'1'<<'\n'<<num<<endl;
     }
  return 0;
}

樱花大战,  有爱.
2008-04-24 14:08
litao61
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-4-27
得分:0 
#include<stdio.h>
void main()
{
    int i,j,s;
    for(i=1;i<=1000;i++)
    {
        s=0;
        for(j=1;j<i;j++)
        {
            if(i%j==0)
                s=s+j;
        }
        if(s==i)
        {
            printf("%d its factors are ",i);
            for(j=1;j<i;j++)
            {
                if(i%j==0)
                    printf("%d,",j);
            }
            printf("\n");
        }
    }
}
试着运行一下,应该可以的啊.自己已经运行通过啦.
2008-04-27 21:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210748-1-1.html




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

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