| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5276 人关注过本帖, 1 人收藏
标题:【求助】求3000以内的亲密数
只看楼主 加入收藏
aa610182505
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-10-29
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:3 
【求助】求3000以内的亲密数
编程求3000以内的亲密数。整数a和整数b称为亲密数的条件为:整数a的全部因子(包括1,不包括a本身)之和等于b,且整数b的全部因子(包括1,不包括b本身)之和等于a。
搜索更多相关主题的帖子: 亲密 
2009-10-29 21:48
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:10 
#include <stdio.h>
main(void)
{
    int fun(int a);
    int i,j,k=0;
    for(i=2;i<3000;i++)
        for(j=2;j<3000;j++)
          {
              if(i!=j)
              {
              if(fun(i)==j&&fun(j)==i)
                {
                    printf("%d,%d  ",i,j);
                    k++;
                }
              if(k%10==0)
              printf("\n");
              }
           }               
}
int fun(int x)
{
    int sum=0;
    int i;
    for(i=1;i<x;i++)
       if(x%i==0)
         sum+=i;
    return(sum);
}
2009-10-29 22:15
剑木易
Rank: 2
等 级:论坛游民
帖 子:18
专家分:50
注 册:2009-10-28
收藏
得分:10 
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{ int i,j,k;
int f(int a);
for(i=2;i<3000;i++)
 if(i==f(f(i)))printf("%d,%d\n",i,f(i));
getch();
}
int f(int a)
{int i,sum=0;
for(i=2;i<a;i++)
if(a%i==0) sum=sum+i;
return sum;
}
2009-10-29 22:37
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
if(i==f(f(i)))
这一步写的不错
2009-10-29 22:39
快速回复:【求助】求3000以内的亲密数
数据加载中...
 
   



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

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