3.1趣味整数之亲密数

1.问题描述
如果整数A的全部因子(包括1不包括本身)之和等于B;且整数B的全部因子(包括1,不包括其本身)之和等于A,那么整数A和整数B成为亲密数,求3000以内的亲密数

2完整程序
int main(int argc,char*argv[]){

for ( int a=1; a<3000; a++) {
    int b=0;
    for ( int i=1; i<=a/2; i++)
        if ((a%i)==0)
            b+=i;
    int n=0;
    for ( int i=1; i<=b/2; i++)
        if ((b%i)==0)
            n+=i;

    if (n==a&&a<b) {
        printf("亲密数:%d---%d\n",a,b);
    }

}


return 0;

}
//方式2
int main(int argc,char*argv[]){

int i,b,n;
for ( int a=1; a<3000; a++) {
    for ( b=0, i=1; i<=a/2; i++)//b初始化为0
        if ((a%i)==0)
            b+=i;
    for ( n=0, i=1; i<=b/2; i++)//n初始化为0
        if ((b%i)==0)
            n+=i;

    if (n==a&&a<b) {
        printf("亲密数:%d---%d\n",a,b);
    }

}


return 0;

}
3.结果
亲密数:220—284
亲密数:1184—1210
亲密数:2620—2924

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值