题目内容:
求数n之内的亲密对数。所谓“亲密对数”,即A的所有因子(包含1但不包含其本身)之和等于B,而B的所有因子之和等于A。
输入格式:
某个数字n
输出格式:
此数字n之内的亲密对数。
输入样例:
400
输出样例:
220 284
两个注意点 i要从1开始取而不是从0,要不然除数是0很尴尬
第二个是为了防止220 284 284 220这样的重复输出
规定了一下两个数输出时的大小关系
#include <iostream>
using namespace std;
int log(int n)
{
int num=0;
for(int i=1;i<n;i++)
{
if(n%i==0)
{
num+=i;
}
}
return num;
}
int main()
{
int n;
cin>>n;
int temp;
for(int i=1;i<n;i++)
{
temp=log(i);
if(log(temp)==i&&temp<i)
{cout<<temp<<" "<<i<<endl;}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)