C++亲密对数

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:25:00
用C++语言编啊 别用C的
所谓“亲密对数“是指甲数的所有因子和等于乙数,乙数的所有的因子和等于甲数,那么甲、乙两数为亲密对数。

例如:
220的因子和:
1+2+4+5+10+11+20+22+44+55+110=284
284的因子和:
1+2+4+71+142=220

#include<iostream>
using namespace std;
bool Panduan(int iNum1,int iNum2)
{

int i=1,j=1;
int sum1=0,sum2=0;
while (i <= iNum1/2)
{
if (iNum1 % i == 0)
sum1+=i;
++i;
}
if (sum1 != iNum2) return false;
else
while (j <= iNum2/2)
{
if (iNum2 % j == 0)
sum2+=j;
++j;
}
if (sum2 == iNum1) return true;
else return false;
}

int main()
{
int a,b;
cout<<"请输入要判断的数:\n";
cin>>a>>b;
if(Panduan(a,b))
cout<<"是亲密对数"<<endl;
else
cout<<"不是亲密对数"<<endl;

return 0;
}
希望对你有帮助。

#include <iostream>
using namespace std;
int fun(int n);

void main(void)
{
int prime(int);
int i;<