| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 846 人关注过本帖
标题:关于亲和数
取消只看楼主 加入收藏
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
结帖率:94.64%
收藏
已结贴  问题点数:18 回复次数:1 
关于亲和数
程序代码:
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int yueshu(int b)//求约数和
{
    int i=0,a=0,c;
    for(c=1;c<=b/2;c++)
    {
        if(b%c==0)
        {
            a+=c;
        }
    }
    return a;
}
void main()
{
    int a=0,i,j;
    int y[2000];
    for(i=0;i<=2000;i++)
    {
        //x[i]=i;
        y[i]=yueshu(i);
    }
    for(i=0;i<=2000;i++)
        for(j=0;j<=2000;j++)
    {
            if(i==y[j]&&j==y[i]&&i!=j)
            {
                if(a!=i)
                cout<<i<<""<<j<<"是一对亲和数"<<endl;
                a=j;
            }
    }
}
请问为何输出的是
220 284
1184 1210
2000 1780  这最后个数据是怎么回事,谢谢
搜索更多相关主题的帖子: color 
2012-04-29 16:58
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
收藏
得分:0 
回复 2楼 tongzhipeng
我也用了标准C++试过了,还是输出那个多余的数,我发现在主函数中int a,i,j;和int i,j,a;输出结果不同,前者会输出多余数据,后者不会,这是怎么回事啊?我有次提到一个问题,有人和我说C和C++一起用不是好习惯,这又是为什么啊?我觉得C的输出比C++简单点。
2012-05-02 23:09
快速回复:关于亲和数
数据加载中...
 
   



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

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