| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 793 人关注过本帖
标题:急~~求此c语言详解
只看楼主 加入收藏
txchenyi
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
急~~求此c语言详解
#include "stdio.h"
int main()
{
int A,B,x,i,sum1,sum2;
printf("Input A,B:");
scanf("%d,%d",&A,&B);
if(A>B)
{
int t=A;
A=B;
B=t;
}
for(x=A;x<=B;x++)
{
sum1=0,sum2=0;
for(i=1;i<x;i++)
if(x%i==0)
sum1+=i;
if(sum1>=x||sum1<A||sum1>B)
continue;
for(i=1;i<sum1;i++)
if(sum1%i==0)
sum2+=i;
if(sum2==x)
printf("%d,%d\n",x,sum1);
}
return 0;
}
搜索更多相关主题的帖子: 详解 c语言 
2010-03-14 10:29
hzh512
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:234
专家分:1333
注 册:2009-6-5
收藏
得分:4 
这应该是求(A,B)范围内的完数,令我很惊讶,能把程序写的如此.........


#include "stdio.h"

int main()
{
    int A,B,x,i,sum1,sum2;
    printf("Input A,B:");
    scanf("%d,%d",&A,&B);
    if(A>B)
    {
        int t=A;
        A=B;
        B=t;
    }
    for(x=A;x<=B;x++)
    {
        sum1=0;
        for(i=1;i<x;i++)
        {    if(x%i==0)
                sum1+=i;
        }
        if(sum1==x)
            printf("%d,%d\n",x,sum1);
    }
    return 0;
}

编程=用几种语言在某个或几个平台上通过抽象思维运用一系列算法来解决现实中问题的手段
2010-03-14 11:17
hzh512
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:234
专家分:1333
注 册:2009-6-5
收藏
得分:0 
你可以百度:完数

编程=用几种语言在某个或几个平台上通过抽象思维运用一系列算法来解决现实中问题的手段
2010-03-14 11:17
txchenyi
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-14
收藏
得分:0 
哇 谢谢啊 还是你的 程序简单
2010-03-14 11:20
txchenyi
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-14
收藏
得分:0 
回复 2楼 hzh512
能详细解释一下么 哎这些真的搞不懂
2010-03-14 11:21
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:4 
首先你得了解什么是完数 然后再去研究完数的算法 再去看实现完数的循环和表达式
2010-03-14 11:31
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:4 
在(A,B)之间找一个数x,它的因子(除了它本身外)之和sum1要小于它本身,并且这个和sum1也是在(A,B)之间,sum1的因子(除了它本身外)之和sum2刚好等于x,打印满足这些条件的x,sum1,好像这不是求完数吧
2010-03-14 11:42
txchenyi
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-14
收藏
得分:0 
回复 6楼 hahayezhe
哦哦
你知道这个程序怎么编么
亲和数猜想
如果有两个自然数a和b,a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。
2010-03-14 11:43
txchenyi
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-14
收藏
得分:0 
好像这个程序是求亲和数的吧
2010-03-14 11:50
hziee
Rank: 4
等 级:业余侠客
帖 子:64
专家分:257
注 册:2010-3-12
收藏
得分:4 
楼上给的亲和数的算法可以,加了些简单说明。
#include "stdio.h"
int main()
{
int A,B,x,i,sum1,sum2;
printf("Input A,B:");
scanf("%d,%d",&A,&B);
if(A>B)
{
int t=A;
A=B;
B=t;
}
for(x=A;x<=B;x++)
{
sum1=0,sum2=0;
for(i=1;i<x;i++)
if(x%i==0)
sum1+=i;//求数x除自己本身外的全部因数之和
if(sum1>=x||sum1<A||sum1>B)//排除自身是完数和不在A,B间的数。
continue;//当因数之和超过X本身或者不在[A,B]区间内,则跳出进行下个数的计算,否则执行下面语句
for(i=1;i<sum1;i++)
if(sum1%i==0)
sum2+=i;//sum2为为sum1的除本身外的全部因数之和
if(sum2==x)//如果sum2的因素之和正好等于x,输出
printf("%d,%d\n",x,sum1);
}
return 0;
}


[ 本帖最后由 hziee 于 2010-3-14 12:26 编辑 ]
2010-03-14 12:22
快速回复:急~~求此c语言详解
数据加载中...
 
   



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

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