谁能帮忙详细解释一下这个c++题

题目:如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。... 题目:如果整数A的全部因子(包括1,不包括A本身)之和等
于B;且整数B的全部因子 ( 包括1,不包括B本身 )
之和等于A,则将整数A和B称为亲密数。求 3000 以内
的全部亲密数。
-------------------------------------------------------*/
#include<iostream.h>
void main( )
{
int a, i, b, n ;
cout<<"Friendly-numbers pair samller than 3000:\n" ;
for(a=1 ; a<3000 ; a++)
{
for(b=0,i=1 ; i<=a/2 ; i++ )
/***********SPACE***********/
if(!(a%i)) 【?】 ;
for(n=0,i=1 ; i<=b/2 ; i++)
/***********SPACE***********/
if(!(b%i)) 【?】 ;
/***********SPACE***********/
if(【?】 && a<b)
cout<<a<<"~"<<b<<endl;
}
}

答案:
1). b+=i 或 b=b+i
2). n+=i 或 n=n+i
3). n★==★a
展开
 我来答
Garlen_Huang
2011-08-12 · 超过27用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:67.3万
展开全部
#include<iostream.h>
void main( )
{
int a, i, b, n ;
cout<<"Friendly-numbers pair samller than 3000:\n" ;
for(a=1 ; a<3000 ; a++) //在1~3000之中一个个的找
{
for(b=0,i=1 ; i<=a/2 ; i++ )
/***********SPACE***********/
if(!(a%i)) 【?】 ; // i是检查是不是a的约数,是的话则加给b :b+=i;
for(n=0,i=1 ; i<=b/2 ; i++)
/***********SPACE***********/
if(!(b%i)) 【?】 ; //同上 只不过是n罢了
/***********SPACE***********/
if(【?】 && a<b) // n 与b 相等则执行下句
cout<<a<<"~"<<b<<endl;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式